常发生的异常有哪些, 如何使用异常?
常用預(yù)定義例外
CURSOR_ALREADY_OPEN??? -- ORA-06511 SQLCODE = -6511 游標(biāo)已經(jīng)打開
DUP_VAL_ON_INDEX???????? -- ORA-00001 SQLCODE = -1 違反唯一性約束
INVALID_CURSOR??????????? -- ORA-01001 SQLCODE = -1001 非法游標(biāo)操作
INVALID_NUMBER??????????? -- ORA-01722 SQLCODE = -1722 字符向數(shù)字轉(zhuǎn)換失敗
LOGIN_DENIED?????????????? -- ORA-01017 SQLCODE = -1017
NO_DATA_FOUND???????????? -- ORA-01403 SQLCODE = +100 沒有找到數(shù)據(jù)
NOT_LOGGED_ON???????????? -- ORA-01012 SQLCODE = -1012 沒有連接到
數(shù)據(jù)庫
PROGRAM_ERROR???????????? -- ORA-06501 SQLCODE = -6501 內(nèi)部錯誤
STORAGE_ERROR????????????? -- ORA-06500 SQLCODE = -6500
TIMEOUT_ON_RESOURCE?????? -- ORA-00051 SQLCODE = -51
TOO_MANY_ROWS???????????? -- ORA-01422 SQLCODE = -1422 返回多行
TRANSACTION_BACKED_OUT?? -- ORA-00061 SQLCODE = -61
VALUE_ERROR???????????????? -- ORA-06502 SQLCODE = -6502 數(shù)值轉(zhuǎn)換錯誤
ACCESS_INTO_NULL試圖為NULL對象的屬性賦值
ZERO_DIVIDE????????????????? -- ORA-01476 SQLCODE = -1476 被零除
OTHERS??????????????????????? -- 其它任何錯誤的處理
???? 如何使用異常?
在oracle中有三種類型的異常。預(yù)定義的異常 非預(yù)定義的異常 用戶定義的
異常 第二種非預(yù)定義的異常是與特定的oracle錯誤關(guān)聯(lián)。并且用PRAGM
EXCEPTION_INIT(EXCEPTION_NAME,ERROR_NUMBER)關(guān)聯(lián)一起的。但是到底有什么用啊???
例如:declare?? dup_primary_key exception;?? pragma
exception_init(dup_primary_key,-1);?? begin?? insert into itemfile
values('i201','washer','spares',100,50,250,12,30);?? exception??
when dup_primary_key then?? dbms_output.put_line('重復(fù)項(xiàng)編號-主鍵沖突');??
end
第一種的使用方法:exception
???????????????????? when 異常名稱 then
???????????????????????? 異常處理代碼;
第三種的用法:if 條件 then
???????????????? raise_application_error(-20000```````-20999,提示
信息);
?????????????? end if;
轉(zhuǎn)載于:https://www.cnblogs.com/zousheng7018/archive/2012/10/23/2735137.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的常发生的异常有哪些, 如何使用异常?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用汇编写改进的冒泡排序
- 下一篇: 发布网站问题笔记