运行 程序时出现错误 PLS-00103

error PLS-00103 while running a procedure

我是 plsql 的新手,正在尝试实现一个使用过程来执行某些操作的代码 task.I 我正在使用 oracle 10g.I 已经制作了一个名为 stu_pack 的包,并且正在尝试制作包体但在 vain.Please 帮助中。 我想制作一个程序,为给定课程名称提供学生详细信息。 代码如下。

错误信息是:

ERROR at line 14: PLS-00103: Encountered the symbol "PROCEDURE" when expecting one of the following: ; delete exists prior

The symbol ";" was substituted for "PROCEDURE" to continue.

create or replace package body stu_pack as procedure proc1(cname IN number) as 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;
/

您需要更改行 end procedure proc1;

应该是

end;

oR

end proc1;