Oracle儲存過程異常資訊的顯示

2021-07-02 22:10:44 字數 498 閱讀 8205

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

… exception

when others then

rollback;

end …

這種寫法當儲存過程丟擲異常時,我們不知道其到底丟擲了哪種異常(比如列寬度不夠大而在插入資料時拋異常),可以按如下方式顯示異常資訊

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儲存過程異常處理。

create or replace procedure p tx getfaxdata as v errorcode number 出錯的 v errormsg varchar2 200 錯誤的訊息顯示 v currentuser varchar2 8 當前資料庫使用者 v information ...

Oracle 儲存過程 捕獲異常

1 帶引數插入並帶返回值,異常資訊 create orreplace procedure test pro v id in int,v name in in 是輸入引數 out 輸出引數 isbegin insert into proc test id,name values v id,v name...

Oracle儲存過程的異常處理

命名的系統異常 產生原因 access into null 未定義物件 case not found case中若未包含相應的when,並且沒有設定 collection is null 集合元素未初始化 curser already open 游標已經開啟 dup val on index 唯一索...