命名的系統異常 產生原因
access_into_null 未定義物件
case_not_found case中若未包含相應的when,並且沒有設定else時
collection_is_null 集合元素未初始化
curser_alreday_open 游標已經開啟
dup_val_no_index 唯一索引對應的列上有重複的列
invalid_cuser 在不合法的游標上操作
invalid_number 內嵌的sql語句不能將字元轉換為數字
no_data_found 使用select into 未返回行,或應用索引表未初始化
too_many_rows 執行select into 時,結果集超過一行
zero_divide 除數為0
subscript_beyond_count 元素下標超過巢狀表或varray的最大值
subscript_outside_limit 使用巢狀表或varray時,將下標指定為負數
value_error 賦值時,變數長度不足以容納實際數量
login_denied pl/sql應用程式連線到oracle資料庫時,提供了不正確的使用者名稱和密碼
no_logged_on pl/sql應用程式在沒有連線oracle資料庫的情況下訪問資料
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在等待資源時超時
儲存過程常見異常
access into null 未定義物件 case not found case 中若未包含相應的 when 並且沒有設定 else 時 collection is null 集合元素未初始化 curser already open 游標已經開啟 dup val on index 唯一索引對應的...
儲存過程捕捉異常
begin try 開始捕捉異常 begin transaction 開始事務 exec procname procparam 執行儲存過程 報錯,則錯誤資訊會 捉 commit 提交事務 endtry 結束捕捉異常 begin catch 有異常 獲 if trancount 0 判斷有沒有事務 ...
PLSQL儲存過程呼叫儲存過程對異常的處理問題
開始 如果對異常處理不正確,有可能會導致意想不到的結果。下面這個就是 先寫兩個儲存過程 test01 和 test02 create orreplace procedure test01 is v id emp.empno type begin update emp set ename test01...