我正在尝试创建一个接受 aVARRAY
作为参数并从表中删除一些记录的过程。以下是我遵循的步骤:
步骤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';
但它给出了:没有选择行
我对此有两个问题:
1) 创建过程/函数时如何检查错误?我是否使用了正确的查询来检查错误?(需要知道这一点,以便每次我遇到错误时,我都不需要有人在这里代表我检查)
2) 上述程序的错误在哪里?
请让我知道这些。