运行程序时出错PLS-00103

问题描述 投票:0回答:1

我是plsql的新手,并试图实现一个使用过程来执行某些任务的代码。我正在使用oracle 10g。我已经创建了一个名为stu_pack的包,我正在尝试制作包体,但是徒劳无功。请帮忙。我想制作一个程序,为学生提供给定课程名称的详细信息。代码如下。

错误消息是:

第14行的错误:PLS-00103:当遇到以下情况之一时遇到符号“PROCEDURE”:之前删除存在

符号“;”取代“程序”继续。

创建或替换包体stu_pack作为过程proc1(cname IN号)作为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;
/
oracle plsql oracle10g procedure
1个回答
0
投票

你需要更改行end procedure proc1;

应该简单

end;

要么

end proc1;
© www.soinside.com 2019 - 2024. All rights reserved.