oracle 異常處理

2022-08-30 14:33:19 字數 1507 閱讀 4773

create unique index uname_idx on myuser(uname);

select * from myuser for update;

--捕獲系統內建的異常

declare

v_i number;

v_ename varchar2(20);

begin

--v_i:=1/1; --除數0異常

--insert into myuser values(2,'zhangsan','123456'); --唯一鍵異常

--v_i:='&empno';

--select ename into v_ename from emp where empno=v_i; --資料未找到

insert into myuser values(2,'lisi','12345'); --其他異常

exception

when sys.standard.zero_divide then

dbms_output.put_line('除數不能為0!');

when sys.standard.dup_val_on_index then

dbms_output.put_line('唯一約束異常!');

when sys.standard.no_data_found then

dbms_output.put_line('資料未找到!');

when others then

dbms_output.put_line('未知錯誤!');

end;

--捕獲丟擲的邏輯異常

declare

v_age number;

begin

v_age:='&age';

if(v_age<0 or v_age>130) then

end if;

dbms_output.put_line('您的年齡:!'||v_age);

exception

when others then

dbms_output.put_line('出現異常!');

end;

--捕獲自定義異常

declare

v_age number;

ex_myage exception; --自定義異常

pragma exception_init(ex_myage,-20000); --註冊自定義異常,編號範圍20000-20300 預設字首都是 ora-

begin

v_age:='&age';

if(v_age<0 or v_age>130) then

end if;

dbms_output.put_line('您的年齡:!'||v_age);

exception

when ex_myage then

dbms_output.put_line(sqlerrm); --sqlerrm 獲取異常資訊

end;

ORACLE 異常處理

一 開發pl sql程式時,需要考慮到程式執行時可能出現的各種異常,當異常出現時,或是中斷程式執行,或是使程式從錯誤中恢復,從而繼續執行。常用的異常型別有 no data found 沒有發現資料 too many rows select into 語句查詢結果有多個資料行 others 可以捕捉所...

Oracle 異常處理

1 什麼是異常 在pl sql 中的乙個警告或錯誤的情形都可被稱為異常。包括編譯時錯誤 pls 和執行時錯誤 ora 乙個異常通常包含乙個錯誤 和錯誤文字,分別指示異常的編號和具體錯誤資訊。異常情況處理 exception 是用來處理正常執行過程中未預料的事件,程式塊的異常處理預定義的錯誤和自定義錯...

Oracle 異常處理

異常處理 處理程式不可意料的操作,防止程式崩潰,起到友好提示 語法 exception when 異常型別 then 異常處理 異常型別 處理相關的異常 others 處理所有的異常 no data found 沒有找到資料 too many rows 返回資料行數過多自定義異常 實行彈窗的方式提示...