2017-10-15 6 views
0

Je suis un débutant en plsql et en essayant d'implémenter un code qui utilise la procédure pour effectuer une tâche.J'utilise oracle 10g.J'ai déjà fait un paquet nommé stu_pack et je suis en train de faire corps de paquet mais en vain. S'il vous plaît aider. Je veux faire une procédure qui donne les détails de l'étudiant pour le nom du cours donné. le code est comme ci-dessous.erreur PLS-00103 lors de l'exécution d'une procédure

le message d'erreur est:

ERREUR à la ligne 14: PLS-00103: Rencontrés le symbole "procédure" attend une des opérations suivantes:; supprimer existe avant

Le symbole ";" a été remplacé par "PROCEDURE" pour continuer.

créer ou remplacer le corps du paquet stu_pack en tant que procédure proc1 (cname IN number) en tant que l_cname number (2);

CREATE OR REPLACE PACKAGE BODY stu_pack AS 

    PROCEDURE proc1 (
     cname IN NUMBER 
    ) AS 

     l_cname NUMBER(2); 
     cur1  student%rowtype; 
     CURSOR c1 IS SELECT 
      s.* 
        FROM 
      student s, 
      course c, 
      learn l 
        WHERE 
      c.cname = l_cname 
      AND c.cid = l.cid 
      AND s.sid = l.sid; 

    BEGIN 
     OPEN c1; 
     LOOP 
      FETCH c1 INTO cur1; 
      EXIT WHEN c%notfound; 
      dbms_output.put_line('student roll number:' 
      || cur1.sid 
      || ' student 
      name:' 
      || cur1.sname 
      || ' phone number:' 
      || cur1.phone); 

     END LOOP; 

     CLOSE c1; 
    END procedure proc1; 

END stu_pack; 
/
+0

S'il vous plaît fournir l'intégralité du message d'erreur. – sagi

+0

message d'erreur est: ERROR à la ligne 14: PLS-00103: rencontré le symbole "PROCEDURE" lors de l'attente de l'un des éléments suivants: ; supprimer existe avant Le symbole ";" a été remplacé par "PROCEDURE" pour continuer. 1. créer ou remplacer le paquet stu_pack en tant que 2. procédure proc1 (cname IN number) en tant que 3. l_cname number (2); – Yash

Répondre

0

Vous devez changer la ligne end procedure proc1;

Il devrait être tout simplement

end; 

oU

end proc1; 
+0

oui, c'était l'erreur que je faisais ... merci – Yash