oracle异常如何处理,ORACLE异常处理总结
1:預(yù)定義異常???????用于處理常見的Oracle錯(cuò)誤
2:非預(yù)定義異常????用于處理預(yù)定義異常所不能處理的Oracle錯(cuò)誤
3:自定義異常???????用于處理于Oracle錯(cuò)誤無關(guān)的其他情況
異常處理部分是以關(guān)鍵字EXCEPTION開始的,語法如下:
EXCEPTION
WHENexception_NameTHEN?--exception_Name為異常的名字
statement1;
WHENOTHERSTHEN
statement1;
異常處理部分從關(guān)鍵字EXCEPTION開始,在異常處理部分使用WHEN字句捕捉各種異常,如果有其他未預(yù)定義到的異常,使用WHENOTHERSTHEN字句進(jìn)行捕捉和處理。
1、處理預(yù)定義異常,這是系統(tǒng)預(yù)定的21種類型
錯(cuò)誤代碼是負(fù)整數(shù),如-51
Access_info_null(ora-06530)
當(dāng)訪問沒有初始化的對(duì)象時(shí)觸發(fā)。
Case_not_found(ora-06592)
case過程中when后沒有包含必要的條件分支并且沒有else子句,則會(huì)觸發(fā)本異常。
Collection_is_null(06531)
訪問未初始化的集合元素(嵌套表或者varray)。
Cursor_already_open(ora-06511)
重新打開已經(jīng)打開的游標(biāo)。
Dup_val_on_index(ora-00001)
當(dāng)中唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí)。
Invalid_cursor(ora-01001)
試圖在不合法的游標(biāo)上執(zhí)行操作時(shí),譬如沒打開游標(biāo)就提取內(nèi)容
Invalid_number(ora-01722)
當(dāng)試圖將非法的字符串轉(zhuǎn)換為數(shù)字類型時(shí)。
No_data_found(ora-01403)
執(zhí)行select into未返回行,或者引用了索引表未初始化的元素時(shí)。
Too_many_rows(ora-01422)
執(zhí)行select into返回超過一行數(shù)據(jù)時(shí)。
Zero_divide(ora-01476)
0作為被除數(shù)時(shí)。
Subscript_beyond_count(ora-06533)
使用嵌套表或者varray集合時(shí),如果引用下標(biāo)超過last。
Subscript_outside_limit(ora-06532)
使用嵌套表或varray集合時(shí),如果引用下標(biāo)小于first。
Value_error(ora-06502)
在執(zhí)行賦值操作時(shí),如果變量長(zhǎng)度不足以容納實(shí)際數(shù)據(jù)。
Login_denied(ora-01017)
連接數(shù)據(jù)庫(kù)時(shí)提供了不正確的用戶名或口令。
Not_logged_on(ora-01012)
在程序沒有連接到oracle數(shù)據(jù)庫(kù)時(shí)執(zhí)行plsql代碼則會(huì)觸發(fā)。
Program_error(ora-06501)
plsql內(nèi)部問題。
Rowtype_mismatch(ora-06504)
執(zhí)行賦值操作時(shí),如果宿主游標(biāo)變量和PLSQL游標(biāo)變量返回類型不兼容時(shí)。
Self_is_null(ora-30625)
使用對(duì)象類型時(shí),如果在null實(shí)例上調(diào)用成員方法。
Storage_
總結(jié)
以上是生活随笔為你收集整理的oracle异常如何处理,ORACLE异常处理总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样删除oracle中的用户,Oracl
- 下一篇: eclipse mac 下载php文件夹