oracle中,異常有預定義異常,非預定義異常,使用者自定義異常。
預定義異常有異常**、異常名稱。
非預定義異常,有錯誤**(使用者必須事先知道異常**),沒有名稱。必須使用者自己定義。
非預定義異常:
(1)在定義部分,定義異常名稱。
《異常名稱》 exception;
如: fk_exception exception;
(2)在定義部分,把異常名稱與異常**關聯。
pragma exception_init(《異常名稱》,《異常**》);
如:pragma exception_init(fk_exception,ora-02292);
(3)在異常處理部分,對異常進行處理。
exception
when fk_exception then
……………….
*/declare
fk_exception exception;
pragma exception_init(fk_exception,-22921);
begin
update emp set depno = &no where empno = &no2;
exception
when fk_exception then
dbms_output.put_line(『不符合外來鍵約束』);
end;
非預定義異常
非預定義異常 1非預定義是除了預定義異常和自定義異常外,還有一些屬於程式本身邏輯錯誤的異常.2orale為這些非預定義異常定義了錯誤 沒有定義異常名 3處理這些異常需使用者自己設定異常名 語法 exception name exception pragma exception init except...
ORACLE預定義異常
start 命名的系統異常 產生原因 access into null 未定義物件 case not found case 中若未包含相應的 when 並且沒有設定 else 時 collection is null 集合元素未初始化 curser already open 游標已經開啟 dup v...
oracle 預定義異常
1,access into null 沒有初始化物件異常 create type emp type as object id number 10 物件 建立 name varchar2 50 declare emp emp type emp type 1,begin emp.name 王瑤 exce...