Oracle中的sqlerrm和sqlcode


Oracle中的sqlerrm和sqlcode

sqlcode:sqlcode函數用來返回pl/sql執行內部異常代碼。其中0表示成功;-1表示失敗;100表示沒有檢索到數據;+1表示用戶自定義異常。
   語法:sqlcode
sqlerrm:sqlerrm函數用來返回指定錯誤代碼的錯誤信息。
   語法:SQLERRM [(error_number)]

一個Oracle的錯誤動靜最多只能包孕512個字節的錯誤代碼。
如果沒有異常被觸發,則SQLCODE返回0,SQLERRM返回“ORA-0000:normal, successful completion”。

如:  SQLCODE=-100  -> SQLERRM='no_data_found'

   SQLCODE=0     -> SQLERRM='normal, successfual completion'


sqlcode和sqlerrm如何使用?
sqlcode和sqlerrm是不能直接在sql語句中使用,必須先將其賦給變量后,才能在sql語句中使用。
例:
    DECLARE
    
    ......

  v_trans_error NUMBER;
   v_trans_error_msg VARCHAR2(512);
  
    BEGIN

  ......

    EXCEPTION

   ......

  WHEN OTHERS THEN
  v_trans_error := SQLCODE;
  v_trans_error_msg := SUBSTR(SQLERRM,1,512);
  DBMS_OUTPUT.PUT_LINE(v_trans_error || '---' || v_trans_error_msg);

  ......

    END;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM