異常處理的寫法:
...
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;