PL SQL學習筆記之異常

2021-09-07 16:29:34 字數 2064 閱讀 3138

一:異常

程式執行過程**現錯誤情況被稱為異常,主要有兩種型別的異常:

二:系統定義的異常

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作除數時引發異常

三:使用者自定義異常(其實就是宣告乙個異常變數)

declare

my-exception exception;

四:手動丟擲異常

declare

exception_name exception;

begin

if condition then

raise exception_name;

endif;

exception

when exception_name then

statement;

end;

五:異常處理

declare

begin

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...