根據(jù)Oracle錯誤碼查看對應(yīng)是什么錯誤導(dǎo)致的。
異常處理概念
異常情況處理(EXCEPTION)是用來處理正常執(zhí)行過程中未預(yù)料的事件,程序塊的異常處理預(yù)定義的錯誤和自定義錯誤,由于PL/SQL程序塊一旦產(chǎn)生異常而沒有指出如何處理時,程序就會自動終止整個程序運行.有三種類型的異常錯誤:
1. 預(yù)定義 ( Predefined )錯誤
ORACLE預(yù)定義的異常情況大約有24個。對這種異常情況的處理,無需在程序中定義,由ORACLE自動將其引發(fā)。
2. 非預(yù)定義 ( Predefined )錯誤
即其他標準的ORACLE錯誤。對這種異常情況的處理,需要用戶在程序中定義,然后由ORACLE自動將其引發(fā)。
3. 用戶定義(User_define) 錯誤
程序執(zhí)行過程中,出現(xiàn)編程人員認為的非正常情況。對這種異常情況的處理,需要用戶在程序中定義,然后顯式地在程序中將其引發(fā)。
異常處理部分一般放在 PL/SQL 程序體的后半部,結(jié)構(gòu)為:
EXCEPTION
WHEN first_exception THEN <code to handle first exception >
WHEN second_exception THEN <code to handle second exception >
WHEN OTHERS THEN <code to handle others exception >
END;
異常處理可以按任意次序排列,但 OTHERS 必須放在最后.
內(nèi)容預(yù)覽:
ORA-00001: 違反唯一約束條件 (.)
ORA-00017: 請求會話以設(shè)置跟蹤事件
ORA-00018: 超出最大會話數(shù)
ORA-00019: 超出最大會話許可數(shù)
ORA-00020: 超出最大進程數(shù) ()
ORA-00021: 會話附屬于其它某些進程;無法轉(zhuǎn)換會話
ORA-00022: 無效的會話 ID;訪問被拒絕
ORA-00023: 會話引用進程私用內(nèi)存;無法分離會話
ORA-00024: 單一進程模式下不允許從多個進程注冊
ORA-00025: 無法分配
ORA-00026: 丟失或無效的會話 ID
ORA-00027: 無法刪去當(dāng)前會話
ORA-00028: 您的會話己被刪去
ORA-00029: 會話不是用戶會話
ORA-00030: 用戶會話 ID 不存在。
ORA-00031: 標記要刪去的會話
ORA-00032: 無效的會話移植口令
ORA-00033: 當(dāng)前的會話具有空的移植口令
ORA-00034: 無法在當(dāng)前 PL/SQL 會話中
ORA-00035: LICENSE_MAX_USERS 不能小于當(dāng)前用戶數(shù)
ORA-00036: 超過遞歸 SQL () 級的最大值
ORA-00037: 無法轉(zhuǎn)換到屬于不同服務(wù)器組的會話
ORA-00038: 無法創(chuàng)建會話: 服務(wù)器組屬于其它用戶
ORA-00050: 獲取入隊時操作系統(tǒng)出錯
ORA-00051: 等待資源超時
ORA-00052: 超出最大入隊資源數(shù) ()
ORA-00053: 超出最大入隊數(shù)
ORA-00054: 資源正忙,要求指定 NOWAIT
ORA-00055: 超出 DML 鎖的最大數(shù)
ORA-00056: 對象 ‘.’ 上的 DDL 鎖以不兼容模式掛起
ORA-00057: 超出臨時表鎖的最大數(shù)
ORA-00058: DB_BLOCK_SIZE 必須為才可安裝此數(shù)據(jù)庫 (非 )
ORA-00059: 超出 DB_FILES 的最大值
ORA-00060: 等待資源時檢測到死鎖