IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Oracle Discussion :

Problème fonction max


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 63
    Points : 57
    Points
    57
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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é
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Ca ne serait pas plutôt GREATEST que tu souhaites faire ?

  3. #3
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    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 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  4. #4
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Et je pense que RANDOM n'existe pas non plus !
    Utiliser
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 63
    Points : 57
    Points
    57
    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.

Discussions similaires

  1. [Débutant] problème avec la fonction max
    Par laulau301090 dans le forum MATLAB
    Réponses: 1
    Dernier message: 11/05/2013, 12h34
  2. Fonction MAX dans une condition WHERE
    Par borgfabr dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2004, 16h06
  3. Réponses: 2
    Dernier message: 20/08/2004, 17h10
  4. Fonction max d'un tableau de variables...
    Par Romalafrite dans le forum ASP
    Réponses: 7
    Dernier message: 20/07/2004, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo