PLSQL學習-【6異常】
java中異常處理後還可以回語句塊中,但是plsql不能,這感覺挺不好的。
15:31:19 SQL> r 1 declare 2 v_ename emp.ename%type; 3 begin 4 select ename into v_ename from emp where deptno = 10; 5 dbms_output.put_line(v_ename); 6* end; declare * ERROR at line 1: ORA-01422: exact fetch returns more than requested number of rows ORA-06512: at line 4
這裡出現錯誤程式就不能繼續往下執行,我們要處理異常的
declare v_ename emp.ename%type; begin select ename into v_ename from emp where deptno = 55; dbms_output.put_line(v_ename); exception when too_many_rows then dbms_output.put_line('return too many rows'); when no_data_found then dbms_outpORA-02292: integrity constraint (SCOTT.FK_DEPTNO) violated - child record found -2292 ut.put_line('no found'); end;
這些都是有名字的異常,還有些沒有名字的異常。但是有編號。
沒名字有號的異常:(oracle定義的異常)
declare e_dept exception; pragma exception_init(e_dept ,-2292); begin delete from dept where deptno = 10; commit; exception when e_dept then dbms_output.put_line(\'you can not delete this row\'); rollback; end;
有約束不能刪除,e_dept是我們定義的異常的名字,我們如何確定異常號的呢?
declare begin delete from dept where deptno = 10; exception when no_data_found then dbms_output.put_line('not found'); when others then dbms_output.put_line(sqlerrm); dbms_output.put_line(sqlcode); end; ORA-02292: integrity constraint (SCOTT.FK_DEPTNO) violated - child record found -2292
自定義異常:(非oracle異常)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-1343627/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- plsql異常處理SQL
- PLSQL宣告部分異常捕獲SQL
- java學習筆記(異常)Java筆記
- Java--異常的學習Java
- JAVA學習之異常處理Java
- 異常處理 - Go 學習記錄Go
- 學習使用mybatis框架初遇異常MyBatis框架
- 【java學習之再遇異常處理】Java
- plsql陣列學習SQL陣列
- PLSQL學習-【9包】SQL
- swoft 學習筆記之異常處理筆記
- Golang 學習筆記八 錯誤異常Golang筆記
- java學習筆記#3-異常/集合Java筆記
- Java學習筆記之自定義異常Java筆記
- OAF helloworld 學習異常問題解決
- 7_Oracle truncate異常恢復之plsql修復OracleSQL
- PLSQL學習——控制語句SQL
- PLSQL學習-【5遊標】SQL
- Python學習之 異常處理詳解Python
- SpringMVC學習系列(10) 之 異常處理SpringMVC
- OS學習筆記一: 中斷與異常筆記
- Java學習--異常處理及其應用類Java
- Python的學習(十一)----異常處理(2)Python
- java異常練習題Java
- PLSQL學習——資料型別SQL資料型別
- Python學習之路9-檔案和異常Python
- SpringMVC學習筆記10-異常處理SpringMVC筆記
- tcbs_批量儲存過程_plsql事務_savepoint_異常儲存過程SQL
- Python入門學習之異常處理機制Python
- Python 3 學習筆記之——錯誤和異常Python筆記
- Spring Boot學習之No bean named 'entityManagerFactory' available異常Spring BootBeanAI
- 重學c#系列——異常續[異常注意事項](七)C#
- PLSQL獲取異常堆疊資訊-dbms_utility.format_error_backtraceSQLORMError
- PLSQL學習-【8trigger】SQL
- PLSQL學習-【3迴圈結構】SQL
- 學習《PLSQL開發指南》筆記——PLSQL的基本原理SQL筆記
- 重學Java - 異常處理Java
- 菜鳥學Java(十八)——異常Java