ORACLE儲存過程異常處理。

2022-03-12 07:37:38 字數 768 閱讀 7981

create or replace procedure p_tx_getfaxdata

(    )as

v_errorcode number;          -- 出錯的**

v_errormsg  varchar2(200);   -- 錯誤的訊息顯示

v_currentuser varchar2(8);   -- 當前資料庫使用者

v_information varchar2(100); -- 關於錯誤的資訊

begin

//do the things you need to do.

commit;

--異常捕捉

exception

when others then

begin

v_errorcode := sqlcode;

v_errormsg := sqlerrm;

v_currentuser := user;

v_information := '遇到了錯誤 ' || to_char(sysdate) || ' 資料庫使用者 ' || v_currentuser;

dbms_output.put_line('執行錯誤,自動回滾');

dbms_output.put_line('詳細資訊:'||'錯誤**:'||v_errorcode||',錯誤訊息:'||v_errormsg||',日誌資訊:'||v_information);

rollback;

end;

end p_tx_getfaxdata;

Oracle儲存過程的異常處理

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

oracle 儲存過程 異常處理機制

下面將如何在儲存過程中判斷sql語句的錯誤,向大家作乙個詳細地介紹,希望大家讓程式開發人員遵從這樣的方式編寫sql儲存過程,以避免造成在程式聯調過程中應用程式狀態不明確的問題。如以下 表示,在sql儲存過程中可以定義執行狀態的出口引數,而且盡量返回系統報告的sqlcode,而並非個人定義的,這樣可以...

Oracle儲存過程中的異常處理

1.問題 oracle中可以用dbms output.put line來列印提示資訊,但是很容易緩衝區就溢位了。可以用dbms output.enable 1000000 來設定緩衝區的大小。但是有大小,就有可能再溢位 程式寫得太爛,錯誤不斷,不好意思 於是想把異常資訊寫到乙個表中。2.建表 這個容...