在oracle中,可以利用「DBMS_OUTPUT」來配合「put_line」列印方法取得預存程序異常訊息,語法為「DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm);」;「put_line」列印方法用於換行輸出,sqlcode表示異常編號,sqlerrm表示異常的詳細信息,可以配合substr()方法來截取異常信息。
本教學操作環境:windows10系統、Oracle 12c版、Dell G3電腦。
oracle預存程序異常資訊的顯示
#之前寫入預存程序時,異常處理寫法是:
這種寫法當預存程序拋出異常時,我們不知道其到底拋出了哪種異常(比如列寬度不夠大而在插入資料時拋異常),可以按如下方式顯示異常訊息
EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode); DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm); ROLLBACK; END ...
sqlcode是異常編號,sqlerrm是異常的詳細信息,如果異常訊息太多,可以截取一段顯示,如
DBMS_OUTPUT.put_line('sqlerrm : ' ||substr(sqlerrm,1,100));
是截取前100個字元顯示出來。
推薦教學:《Oracle影片教學》
以上是oracle怎麼取得過程異常訊息的詳細內容。更多資訊請關注PHP中文網其他相關文章!