oracle怎么獲取過程異常信息

oracle中,可以利用“DBMS_OUTPUT”配合“put_line”打印方法獲取存儲過程異常信息,語法為“DBMS_OUTPUT.put_line(‘sqlerrm : ‘ ||sqlerrm);”;“put_line”打印方法用于換行輸出,sqlcode表示異常編號,sqlerrm表示異常的詳細信息,并且可以配合substr()方法來截取異常信息。

oracle怎么獲取過程異常信息

本教程操作環境:windows10系統、Oracle 12c版、Dell G3電腦。

oracle怎么獲取過程異常信息

oracle存儲過程異常信息的顯示

之前寫存儲過程時,異常處理寫法是:

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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享