create or replace procedure pr_test_def_exception
as
v_error varchar2(200);
v_cnt varchar2(200);
v_sal number;
EX_RESOURCE_BUSY EXCEPTION;
PRAGMA EXCEPTION_INIT(RESOURCE_BUSY, -54);
begin
--另开会话,执行lock table scott.bonus in exclusive mode
select sal into v_sal from scott.bonus where ename='majunjie' for update nowait;
update scott.bonus set sal=2000 where ename='majunjie';
dbms_output.put_line(v_cnt);
exception
when RESOURCE_BUSY then
v_error := sqlerrm;
dbms_output.put_line(v_error);--ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
when others then
v_error := sqlerrm;
dbms_output.put_line(111);
end;