當前位置:首頁 » 存儲配置 » oracle存儲過程exception

oracle存儲過程exception

發布時間: 2025-08-07 04:57:23

㈠ oracle怎麼寫存儲過程

給你示例你參考下:
----------------------------建立存儲過程:
CREATE OR REPLACE PROCEDURE P_name--存儲過程名字
(
i_var in int, --輸入參數1
o_var OUT varchar2 --輸出參數1
)
IS
v_STR VARCHAR2(200); --定義存儲過程內部的局部變數

BEGIN
--下面是存儲過程的主體實現部分
v_STR := i_var;
dbms_output.put_line(v_STR);
o_var := v_STR;
exception--錯誤異常處理部分
when others then
dbms_output.put_line(sqlerrm);--列印錯誤信息
END P_name;

-----------------------------------調用存儲過程示例:
declare
v_in int;
v_out varchar2(50);
begin
v_in :=100;
P_name (v_in,v_out); --調用存儲過程P_name
dbms_output.put_line('存儲過程輸入結果為:'||v_out);
exception--錯誤異常處理部分
when others then
dbms_output.put_line(sqlerrm);--列印錯誤信息
end;

㈡ 請教關於oracle中寫存儲過程時 select into 語句報錯的問題

定義一個塊,塊中說明異常情況下如何處理就可以了。
begin
select 欄位 into 變數...
exception
when NO_DATA_FOUND then --未找到時
處理邏輯
when exception_code then --這里的錯誤代碼可以在standard包中找到
處理邏輯
when OTHERS then --default錯誤時
處理邏輯
end;
錯誤代碼可通過如下語句獲得:
select * from dba_source where owner='SYS' and name='STANDARD' and type='PACKAGE' and text like ' pragma EXCEPTION%';

㈢ 請教各位高手 oracle 存儲過程 如何獲得 捕獲異常的內容

--通過sqlcode , sqlerrm 這兩個內置變數來查看,例如:

DECLARE
--聲明異常
some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition

v_ErrorCode NUMBER; -- Variable to hold the error message code
v_ErrorText VARCHAR2(200); -- Variable to hold the error message text

BEGIN
--...
--拋出異常
IF ( ... ) THEN --(括弧內填拋出異常的條件)
RAISE some_kinds_of_err;
END IF;
--...
EXCEPTION
--捕捉異常
WHEN some_kinds_of_err THEN
/* do something to Handler the errors */
null;
--捕捉其他異常,並獲得 捕獲異常的內容
WHEN OTHERS THEN
v_ErrorCode := SQLCODE;
v_ErrorText := SUBSTR(SQLERRM, 1, 200);
-- Note the use of SUBSTR here.

dbms_output.put_line(v_ErrorCode || '::'||v_ErrorText);
END;
/

/**
sqlcode 就是錯誤代碼
sqlerrm 就是sql錯誤信息。注意用substr來截取,否則輸出很難看。

**/

㈣ oracle 存儲過程,請問這樣的一個存儲過程執行中其中一條語句報錯,接下來的語句還會執行嗎

不會,直接拋出異常,並終止。存儲過程是預編譯sql的,主題出錯會導致整個存儲過程執行失敗。

㈤ 在使用oracle創建存儲過程部分代碼: EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN OTHERS THEN RAISE;

NULL 當沒有數據時,拋出空值

RAISE 是用來拋出異常的,沒帶參數的如你上面的這種,就是將當前的異常傳到外部程序。

熱點內容
ftp伺服器密碼如何修改 發布:2025-09-17 03:48:07 瀏覽:295
python爬蟲豆瓣 發布:2025-09-17 03:41:59 瀏覽:202
我的世界國際版加入伺服器電腦版 發布:2025-09-17 03:41:14 瀏覽:932
附件上傳相片 發布:2025-09-17 03:39:53 瀏覽:435
微信賬號密碼組合是什麼 發布:2025-09-17 03:30:05 瀏覽:392
windows如何查看ftp安裝環境 發布:2025-09-17 03:30:02 瀏覽:910
java培訓機構推薦 發布:2025-09-17 03:20:58 瀏覽:85
開伺服器時如何開pvp 發布:2025-09-17 03:02:23 瀏覽:969
安卓手機序列號a開頭什麼意思 發布:2025-09-17 02:59:26 瀏覽:689
機房電腦重裝以後伺服器不能識別 發布:2025-09-17 02:59:17 瀏覽:157