作者:無(wú)從考證 來(lái)源:中國軟件 發(fā)布時(shí)間:2005-8-23 21:03:19 發(fā)布人:admin
null
增大字體
null Oracle內置函數SQLCODE和SQLERRM是特別用在OTHERS處理器中,分別用來(lái)返回Oracle的錯誤代碼和錯誤消息。
OTHERS處理器應該是異常處理塊中的最后的異常處理器,因為它是用來(lái)捕獲除了別的異常處理器處理以外的所有的Oracle異常,所以在程序的最外層使用一個(gè)OTHERS處理器的話(huà),將可以確保所有的錯誤都會(huì )被檢測到。
在一個(gè)內在的異常中,SQLCODE返回Oracle錯誤的序號,而SQLERRM返回的是相應的錯誤消息,錯誤消息首先顯示的是錯誤代碼。SQLCODE返回的是負數,除非Oracle的錯誤為“ORA-01403:NO DATA FOUND”(譯:ORA-01403:未找到數據),當Oracle錯誤為“ORA-01403:NO DATA FOUND”時(shí),其對應的SQLCODE為+100。對于用戶(hù)自定義的異常,SQLCODE返回的是+1,而SQLERRM返回的是User-Defined Exception。
一個(gè)Oracle的錯誤消息最多只能包含512個(gè)字節的錯誤代碼。如果沒(méi)有異常被觸發(fā),則SQLCODE返回0,SQLERRM返回“ORA-0000:normal, successful completion”。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。