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

PL/SQL Oracle Discussion :

Problème procédure Oracle


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Août 2011
    Messages : 103
    Par défaut Problème procédure Oracle
    Bonjour, je viens de créer (enfin bientot j'espere) une procédure qui permet de calculer le montant d'une commande.
    je voudrais gérer les exceptions quand la commande passer en paramètre n'éxiste pas mais je bloque un peu.

    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
     
    create or replace procedure montant_commande (idcomm IN commandes.idcommande%TYPE)
    as
    aucune_commande exception;
    dernier_enregistrement commandes.idcommande%type;
    begin
    	select max(idcommande) into dernier_enregistrement
    	from commandes;
    	if idcomm>dernier_enregistrement then
    		raise aucune_commande;
    	else 
    		update commandes
    		set montant = round((select sum(p.prixplat * co.quantite)
    			from plats p, composer co, commandes c
    			where c.idcommande = co.idcommande
    			and p.idplat = co.idplat
    			and c.idcommande=idcomm))
    		where idcommande = idcomm;
    	end if;
    when aucune_commande then
    	dbms_output.put_line(Commande inexistante);
    end montant_commande;
    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
     
    19/1     PLS-00103: Symbole "WHEN" rencontrÚ Ó la place d'un des symbole
             suivants :
             ( begin case declare end exception exit for goto if loop mod
             null pragma raise return select update while with
             <identificateur> <identificateur entre guillemets>
             <variable attachÚe (bind variable)> << continue close
             current delete fetch lock insert open rollback savepoint set
             sql execute commit forall merge pipe purge
             Symbole "case" a ÚtÚ substituÚ Ó "WHEN" pour continuer.
     
    20/32    PLS-00103: Symbole "INEXISTANTE" rencontrÚ Ó la place d'un des
     
    LINE/COL ERROR
    -------- ---------------------------------------------------------------
             symboles suivants :
             . ( ) , * @ % & = - + < / > at in is mod remainder not rem =>
             <exposant (**)> <> or != or ~= >= <= <> and or like like2
             like4 likec as between from using || multiset member
             submultiset
             Symbole "." a ÚtÚ substituÚ Ó "INEXISTANTE" pour continuer.
     
    21/5     PLS-00103: Symbole "MONTANT_COMMANDE" rencontrÚ Ó la place d'un
             des symboles suivants :
             case

  2. #2
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    Bonjour,

    Tu as oublié le mot clé EXCEPTION (cf tuto).

  3. #3
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    J'ai remarqué aussi quelques petites erreurs ,

    1) tu as oublié les ' à ton DBMS_OUTPUT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbms_output.put_line('Commande inexistante');
    2) Ta procédure ne se termine pas correctement :


  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Août 2011
    Messages : 103
    Par défaut Résolu procédure stockée
    Ah des erreurs d'étourderie ! Merci Lola sa marche nikel

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

Discussions similaires

  1. Problème Procédure Oracle-PL/SQL
    Par Macxx7 dans le forum Oracle
    Réponses: 1
    Dernier message: 20/01/2011, 11h41
  2. problème procédure oracle
    Par buzzzy dans le forum PL/SQL
    Réponses: 4
    Dernier message: 07/12/2010, 22h44
  3. Problème sur Oracle Toolbox
    Par Doctor Z dans le forum Oracle
    Réponses: 9
    Dernier message: 09/11/2004, 08h48
  4. Problème Migration Oracle
    Par bob_doulz dans le forum Administration
    Réponses: 4
    Dernier message: 20/04/2004, 09h56
  5. Problème composant Oracle
    Par alexmorel dans le forum Bases de données
    Réponses: 12
    Dernier message: 24/02/2004, 08h53

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