私はplsqlの初心者であり、プロシージャを使用してタスクを実行するコードを実装しようとしています。Oracle 10gを使用しています。stu_packという名前のパッケージをすでに作成しています。パッケージ本体は無駄です。助けてください。 私は与えられたコース名の学生の詳細を提供する手続きを作りたいと思います。 コードは以下の通りです。エラーPLS-00103プロシージャの実行中
エラーメッセージがある:PLS-00103:次のいずれかを期待シンボル "PROCEDURE" が発生しました:行14に
ERROR。削除が先に存在する
記号 ";"続行するために "PROCEDURE"の代わりに使用されました。
パッケージ本体stu_packを プロシージャproc1(cname IN番号)として作成または置き換えます。 l_cname number(2);あなたが行
end procedure proc1
を変更する必要が
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;
/
でなければなりません。 – sagi
エラーメッセージは次のとおりです。14行目のエラー:PLS-00103:次のいずれかが予想される場合、シンボル "PROCEDURE"が発生しました。 ; 削除が先に存在する シンボル ";"続行するために "PROCEDURE"の代わりに使用されました。 1.パッケージ本体stu_packを として作成または置き換えます。2.プロシージャproc1(cname IN番号)を とします。3. l_cname number(2); – Yash