在我們寫proc程序中經常要有錯誤處理,在錯誤處理中我們經常要輸出錯誤信息來給幫助我們分析和解決錯誤原因,從而更正數據。這時候就會用到SQLCODE和SQLERRM.
SQLCode:數據庫操作的返回碼,其中0表示成功;-1表示失敗;100表示沒有檢索到數據;+1表示用戶自定義異常。
sqlerrm函數 sqlerrm函數返回指定錯誤代碼的錯誤信息。
一個Oracle的錯誤消息最多只能包含512個字節的錯誤代碼。如果沒有異常被觸發,則SQLCODE返回0,SQLERRM返回“ORA-0000:normal, successful completion”。
sqlerrm如何使用?
sqlcode和sqlerrm是不能直接在sql語句中使用,必須先將其賦給變量后,才能在sql語句中使用,如下:
v_trans_error NUMBER;
v_trans_error_msg VARCHAR2(512);
v_trans_error := SQLCODE;
v_trans_error_msg := SUBSTR(SQLERRM,1,512);