Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Nouveau Membre du Club
    Inscrit en
    décembre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 36
    Points : 25
    Points
    25

    Par défaut Problème fonction max

    Bonjour,
    J'ai un problème lors d'une requête avec la fonction max() mais je ne le vois vraiment pas :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    declare
    i number(2);
    j number(3);
    k number(3);
    l number(3);
    BEGIN
    FOR i IN 0 .. 9
    LOOP
    	FOR j IN 1 .. 20
    	LOOP
    	IF (mod((i*10+j),2)=0) THEN
    	k := random(10,1000);
    	l := max(5, (110-(k/10)));
    	INSERT INTO Article (reference, designation, prixCatalogue, prixMinimal, qteStock, codeTVA, codeRayon) VALUES((i*10+j), 'Article'||(i*10+j), k, (k*0.75), l, 2,i+1);
    	ELSE
    	k := random(10,1000);
    	l := max(5, 110-(k/10));
    	INSERT INTO Article (reference, designation, prixCatalogue, prixMinimal, qteStock, codeTVA, codeRayon) VALUES((i*10+j), 'Article'||(i*10+j),k, (k*0.75),l ,1,i+1);
    	END IF;
    	END LOOP;
    END LOOP;
    END;
    /
    Code d'erreur :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Rapport d'erreur :
    ORA-06550: Ligne 13, colonne 12 :
    PLS-00103: Symbole "," rencontré à la place d'un des symboles suivants :
     
       ) * & - + / at mod remainder rem <exposant (**)> || multiset
    ORA-06550: Ligne 13, colonne 27 :
    PLS-00103: Symbole ";" rencontré à la place d'un des symboles suivants :
     
       . ( ) , * % & = - + < / > at in is mod remainder not rem
       <exposant (**)> <> or != or ~= >= <= <> and or like like2
       like4 likec between || multiset membe
    ORA-06550: Ligne 17, colonne 12 :
    PLS-00103: Symbole "," rencontré à la place d'un des symboles suivants :
     
       ) * & - + / at mod remainder rem <exposant (**)> || multiset
    ORA-06550: Ligne 17, colonne 25 :
    PLS-00103: Symbole ";" rencontré à la place d'un des symboles suivants :
     
       . ( ) , * % & = - + < / > at in is mod remainder not rem
       <exposant (**)> <> or != or ~= >= <= <> and or like like2
       like4 likec between || multiset membe
    06550. 00000 -  "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:
    D'après ce que j'ai compris du code d'erreur, ça vient de la virgule dans la fonction max. Mais je ne sais vraiment pas comment corriger cela.

    Merci d'avance pour toute aide.

  2. #2
    Expert Confirmé
    Inscrit en
    août 2008
    Messages
    2 161
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 2 161
    Points : 3 972
    Points
    3 972

    Par défaut

    Ca ne serait pas plutôt GREATEST que tu souhaites faire ?

  3. #3
    Membre Expert Avatar de Garuda
    Homme Profil pro Philippe CHIRCOP
    Chef de projet
    Inscrit en
    juin 2007
    Messages
    1 244
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe CHIRCOP
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Bâtiment

    Informations forums :
    Inscription : juin 2007
    Messages : 1 244
    Points : 1 958
    Points
    1 958

    Par défaut

    Citation Envoyé par skuatamad Voir le message
    Ca ne serait pas plutôt GREATEST que tu souhaites faire ?

    Evidemment ! MAX n'est utilisable qu'en SQL (fonction aggrégat)
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 10.2.0.4 (RAC) - Forms6i patch 17 - Toad 12 - sharePoint 2010

  4. #4
    Membre Expert Avatar de Garuda
    Homme Profil pro Philippe CHIRCOP
    Chef de projet
    Inscrit en
    juin 2007
    Messages
    1 244
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe CHIRCOP
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Bâtiment

    Informations forums :
    Inscription : juin 2007
    Messages : 1 244
    Points : 1 958
    Points
    1 958

    Par défaut

    Et je pense que RANDOM n'existe pas non plus !
    Utiliser
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 10.2.0.4 (RAC) - Forms6i patch 17 - Toad 12 - sharePoint 2010

  5. #5
    Nouveau Membre du Club
    Inscrit en
    décembre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 36
    Points : 25
    Points
    25

    Par défaut

    Merci beaucoup,
    C'était bien ça, j'avais trouvé le GREATEST mais comme il n'est pas devenu bleu je me suis dit que ce n'était pas une fonction.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •