Oracle預定義的21個系統異常型別

智慧先行者發表於2014-12-14

 

命名的系統異常

產生原因

ACCESS_INTO_NULL

未定義物件

CASE_NOT_FOUND

CASE 中若未包含相應的 WHEN ,並且沒有設定 ELSE 時

COLLECTION_IS_NULL

集合元素未初始化

CURSER_ALREADY_OPEN

遊標已經開啟

DUP_VAL_ON_INDEX

唯一索引對應的列上有重複的值

INVALID_CURSOR

在不合法的遊標上進行操作

INVALID_NUMBER

內嵌的 SQL 語句不能將字元轉換為數字

NO_DATA_FOUND

使用 select into 未返回行,或應用索引表未初始化的元素時

SQL聚合函式,如AVG和SUM,總是能返回一個值或NULL,所以一個呼叫聚合函式的select into語句從來不會丟擲NO_DATA_FOUND異常。

FETCH語句最終會取不到資料,當這種情況發生時,不會有異常丟擲

TOO_MANY_ROWS

執行 select into 時,結果集超過一行

ZERO_DIVIDE

除數為 0

SUBSCRIPT_BEYOND_COUNT

元素下標超過巢狀表或 VARRAY 的最大值

SUBSCRIPT_OUTSIDE_LIMIT

使用巢狀表或 VARRAY 時,將下標指定為負數

VALUE_ERROR

賦值時,變數長度不足以容納實際資料

LOGIN_DENIED

PL/SQL 應用程式連線到 oracle 資料庫時,提供了不正確的使用者名稱或密碼

NOT_LOGGED_ON

PL/SQL 應用程式在沒有連線 oralce 資料庫的情況下訪問資料

PROGRAM_ERROR

PL/SQL 內部問題,可能需要重灌資料字典& pl./SQL 系統包

ROWTYPE_MISMATCH

宿主遊標變數與 PL/SQL 遊標變數的返回型別不相容

SELF_IS_NULL

使用物件型別時,在 null 物件上呼叫物件方法

STORAGE_ERROR

執行 PL/SQL 時,超出記憶體空間

SYS_INVALID_ID

無效的 ROWID 字串

TIMEOUT_ON_RESOURCE

Oracle 在等待資源時超時

相關文章