异常处理的写法:
... EXCEPTION WHEN OTHERS THEN ROLLBACK; END ...
但是出现异常无法获知啥异常,因此代码块增加以下语句:
EXCEPTION WHEN OTHERS THEN --以下表示输出buffer不受限制 DBMS_OUTPUT.ENABLE(buffer_size => null); dbms_output.put_line(dbms_utility.format_error_backtrace); DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode); DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm); --以下截取前100个字符显示 DBMS_OUTPUT.put_line('sqlerrm : ' ||substr(sqlerrm,1,100)); ROLLBACK; END ... begin produce_name; end;