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 :

Code PL/SQL erroné


Sujet :

PL/SQL Oracle

  1. #1
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut Code PL/SQL erroné
    Bonjour.
    voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ACCEPT Saisie PROMPT 'Nom de la professions';
    DECLARE
    profSaisie varchar2(30):= '&Saisie';
    PROCEDURE NomDirecteurs (prof in emp.prof%type) 
          IS
              CURSOR Curseur(profSaisie varchar2) IS 
              SELECT e.enom FROM EMP E, DEPT D WHERE e.dno = d.dno AND e.prof = profSaisie AND e.eno = d.dir;
     
          BEGIN
            FOR EMP IN Curseur(profSaisie) LOOP
            dbms_print.put_line('nom directeur' || emp.enom);
            END LOOP;
          END
    message d'erreur suivant.
    PLS-00103: Symbole "end-of-file" rencontré à la place d'un des symboles suivants :

    ; <identificateur> <identificateur entre guillemets> current
    delete exists prior <une chaîne SQL entre apostrophes>
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause: Usually a PL/SQL compilation error.
    *Action:
    Merci de votre aide.
    Cordialement Philcmoi.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 169
    Par défaut
    Bonjour,

    Tu déclares une procédure mais tu ne l'appelles pas?
    Il te manque le BEGIN et le END de ton bloc pl/sql. Tu n'as pas vraiment besoin de paramètre d'entrée pour ta procédure puisque tu utilises directement la variable saisie.

    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
    ACCEPT Saisie PROMPT 'Nom de la professions';
    DECLARE
    profSaisie varchar2(30):= '&Saisie';
    PROCEDURE NomDirecteurs
          IS
              CURSOR Curseur IS 
              SELECT e.enom FROM EMP E, DEPT D WHERE e.dno = d.dno AND e.prof = profSaisie  AND e.eno = d.dir;
     
          BEGIN
            FOR EMP IN Curseur LOOP
            dbms_print.put_line('nom directeur' || emp.enom);
            END LOOP;
          END;
    BEGIN
    NomDirecteurs;
    END;
    /

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

Discussions similaires

  1. [QuerySyntaxException] Code SQL erroné
    Par xoftob dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 26/11/2012, 12h15
  2. Réponses: 2
    Dernier message: 29/05/2006, 17h04
  3. Code source SQL
    Par newbeesql dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2006, 15h43
  4. Tester du code PL/SQL sans Oracle ?
    Par batoubat dans le forum PL/SQL
    Réponses: 9
    Dernier message: 01/12/2005, 09h37
  5. Code retour SQL server sous centura
    Par MorbidAngel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/09/2005, 14h07

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