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('不能為負');
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:無法解析指定的連接標識符已解決(本地未安裝Oracle需要連接服務(wù)器上的)
- PLSQL Developer連接oracle數(shù)據(jù)庫配置教程
- plsql 連接oracle數(shù)據(jù)庫詳細配置的方法步驟
- PLSQL配置遠程Oracle數(shù)據(jù)庫連接的示例代碼
- Oracle通過sqlplus連接數(shù)據(jù)庫的方式
- PL/SQL中編寫Oracle數(shù)據(jù)庫分頁的存儲過程