0

a を引数として受け取りVARRAY、テーブルからいくつかのレコードを削除するプロシージャを作成しようとしています。以下は、私が従った手順です。

ステップ1

VARRAYパッケージ内を作成しました:

create or replace package del_emp is
type rec_del_emp is varray(10) of NUMBER;
end del_emp;

ステップ2:

プロシージャを作成しました:

create or replace procedure f_del_emp(v_emp del_emp.rec_del_emp%type) is
begin
for i in 1 .. v_emp.count
loop
    delete from emp where emp_id = v_emp(i);
    dbms_output.put_line('Deleted Id: ' || v_emp(i));
end loop;
commit;
end f_del_emp;

このプロシージャは、コンパイル エラーで作成されています。

これを使用してエラーの内容を確認してみました:

select * from SYS.USER_ERRORS 
where NAME = 'f_del_emp' 
and type = 'PROCEDURE';

しかし、それは与えています:行が選択されていません

これについて 2 つの質問があります。

1) Proc / Function の作成中にエラーを確認する方法は? エラーをチェックするために正しいクエリを使用しましたか? (エラーが発生するたびに、ここにいる誰かが私の代わりに同じことをチェックする必要がないように、これを知る必要があります)

2) 上記の手順のどこに誤りがありますか?

これらについて教えてください。

4

2 に答える 2