Oracle PL/SQL異常處理方法解析
Oracle數(shù)據(jù)庫中的異常:沒有異常的轉(zhuǎn)移,因為沒有受檢異常和非受檢異常得區(qū)分。
1.異常的產(chǎn)生:
2.異常的處理:
declare
--變量定義,初始化賦值。
begin
--變量的賦值,函數(shù)調(diào)用,if,while等。
exception
--異常處理代碼
when others then 異常處理語句。
end;
3.異常的拋出:raise
4.多異常處理:Java的多異常是通過數(shù)據(jù)類型區(qū)分,Oracle數(shù)據(jù)庫的多異常是通過異常編號區(qū)分。
區(qū)別不同的異常是實現(xiàn)多異常處理前提。
declare
verror exception;--定義異常變量
PRAGMA EXCEPTION_INIT(verror ,-111111);--設(shè)定異常變量的編號
begin
--變量的賦值,函數(shù)調(diào)用,if,while等。
exception
- when verror then 異常處理語句。--所拋出的異常變量的編號是否和設(shè)定好的異常變量的編號一致。
- when others then 異常處理語句。--當(dāng)所拋出的異常編號在exception語句塊中不存在時,執(zhí)行該語句(寫在最后)。
end;
5.自定義異常:Java中通過定義一個新的異常類實現(xiàn)的。Oracle中通過異常編號實現(xiàn)的。
eclare n number(1); v_error exception; begin dbms_output.put_line('拋出單個異常練習(xí)--n只有1位不能保存數(shù)字10'); n:=10; if n<=0 then raise v_error; end if; dbms_output.put_line(n); exception when others then dbms_output.put_line('數(shù)值溢出'); end; declare n number(1); v_error exception; PRAGMA EXCEPTION_INIT(v_error,-112122); begin dbms_output.put_line('拋出多個異常練習(xí)'); n:=-1; if n<=0 then raise v_error; end if; dbms_output.put_line(n); exception when v_error then dbms_output.put_line('不能為負(fù)'); when others then dbms_output.put_line('數(shù)值溢出'); end;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 通過PLSQL Developer創(chuàng)建Database link,DBMS_Job,Procedure,實現(xiàn)Oracle跨庫傳輸數(shù)據(jù)的方法(推薦)
- Oracle SQLPlus導(dǎo)出數(shù)據(jù)到csv文件的方法
- python實現(xiàn)自動化報表功能(Oracle/plsql/Excel/多線程)
- PL/SQL登錄Oracle數(shù)據(jù)庫報錯ORA-12154:TNS:無法解析指定的連接標(biāo)識符已解決(本地未安裝Oracle需要連接服務(wù)器上的)
- PLSQL Developer連接oracle數(shù)據(jù)庫配置教程
- plsql 連接oracle數(shù)據(jù)庫詳細(xì)配置的方法步驟
- PLSQL配置遠(yuǎn)程Oracle數(shù)據(jù)庫連接的示例代碼
- Oracle通過sqlplus連接數(shù)據(jù)庫的方式
- PL/SQL中編寫Oracle數(shù)據(jù)庫分頁的存儲過程
相關(guān)文章
Oracle SQL Developer連接報錯(ORA-12505)的解決方案(兩種)
本篇文章通過兩種方案幫大家解決Oracle SQL Developer連接報錯(ORA-12505),需要的朋友可以參考下2015-10-10[Oracle] Data Guard CPU/PSU補(bǔ)丁安裝詳細(xì)教程
以下是對Data Guard CPU/PSU補(bǔ)丁安裝的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07關(guān)于系統(tǒng)重裝后Oracle數(shù)據(jù)庫完全恢復(fù)的解決辦法
本篇文章是對系統(tǒng)重裝后Oracle數(shù)據(jù)庫完全恢復(fù)的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Oracle數(shù)據(jù)加載和卸載的實現(xiàn)方法
這篇文章主要介紹了Oracle數(shù)據(jù)加載和卸載的實現(xiàn)方法,非常不錯,具有一定的參考借鑒加載,需要的朋友可以參考下2018-08-08