异常处理的写法:
...
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;