一:異常
程式執行過程**現錯誤情況被稱為異常,主要有兩種型別的異常:
二:系統定義的異常
exception
oracle error
sqlcode
描述access_into_null
06530
-6530
為空物件賦值時引發
case_not_found
06592
-6592
沒有相應的選擇語句時引發異常
collection_is_null
06531
-6531
陣列、集合未初始化卻被使用時引發異常
dup_val_on_index
00001
-1當重複值試圖被儲存在具有唯一索引的列時被引發
invalid_cursor
01001
-1001
游標操作異常
invalid_number
01722
-1722
當乙個字串轉換成乙個數失敗時引發
login_denied
01017
-1017
當使用無效的使用者名稱或密碼登入資料庫時引發
no_data_found
01403
+100
當乙個select into語句無任何行返回時引發
not_logged_on
01012
-1012
在未連線到資料庫卻發出資料庫呼叫時被引發
program_error
06501
-6501
當pl/sql有乙個程式內部錯誤時引發
rowtype_mismatch
06504
-6504
當游標取值有不相容的資料型別的變數被引發
self_is_null
30625
-30625
當物件的成員方法被呼叫但物件型別的例項沒有被初始化時引發異常
storage_error
06500
-6500
當pl/sql記憶體不足或記憶體已損壞時引發異常
too_many_rows
01422
-1422
當select into語句返回多行時引發異常
value_error
06502
-6502
算術、轉換、截短或大小約束錯誤時引發
zero_divide
01476
1476
0作除數時引發異常
三:使用者自定義異常(其實就是宣告乙個異常變數)
declaremy-exception exception;
四:手動丟擲異常
declareexception_name exception;
begin
if condition then
raise exception_name;
endif;
exception
when exception_name then
statement;
end;
五:異常處理
declarebegin
exception
//異常處理部分
when exception1 then
exception1
-handling-
statements
when exception2 then
exception2
-handling-
statements
when exception3 then
exception3
-handling-
statements
........
when others then
exception3
-handling-
statements
end;
PL SQL學習筆記 異常處理
一 預定義異常錯誤 先看 declare mytitle labor.xland.title type begin select title into mytitle from labor.xland where state 2 dbms output.put line mytitle except...
PL SQL程式設計學習之異常處理
新增外來鍵關聯 alter table dept learn add constraint pk dept deptid primary key department id alter table emp learn add constraint fk emp dept deptid foreign...
PL SQL學習筆記之迴圈語句
一 基本迴圈 loop 迴圈體 退出迴圈 1 if condition then exit endif 2 exit when condition end loop 二 while迴圈 while condition loop sequence of statements end loop 三 fo...