Oracle數(shù)據(jù)庫(kù)中的異常:沒(méi)有異常的轉(zhuǎn)移,因?yàn)闆](méi)有受檢異常和非受檢異常得區(qū)分。
1.異常的產(chǎn)生:
2.異常的處理:
declare
--變量定義,初始化賦值。
begin
--變量的賦值,函數(shù)調(diào)用,if,while等。
exception
--異常處理代碼
when others then 異常處理語(yǔ)句。
end;
3.異常的拋出:raise
4.多異常處理:Java的多異常是通過(guò)數(shù)據(jù)類型區(qū)分,Oracle數(shù)據(jù)庫(kù)的多異常是通過(guò)異常編號(hào)區(qū)分。
區(qū)別不同的異常是實(shí)現(xiàn)多異常處理前提。
declare
verror exception;--定義異常變量
PRAGMA EXCEPTION_INIT(verror ,-111111);--設(shè)定異常變量的編號(hào)
begin
--變量的賦值,函數(shù)調(diào)用,if,while等。
exception
- when verror then 異常處理語(yǔ)句。--所拋出的異常變量的編號(hào)是否和設(shè)定好的異常變量的編號(hào)一致。
- when others then 異常處理語(yǔ)句。--當(dāng)所拋出的異常編號(hào)在exception語(yǔ)句塊中不存在時(shí),執(zhí)行該語(yǔ)句(寫在最后)。
end;
5.自定義異常:Java中通過(guò)定義一個(gè)新的異常類實(shí)現(xiàn)的。Oracle中通過(guò)異常編號(hào)實(shí)現(xiàn)的。
eclare
n number(1);
v_error exception;
begin
dbms_output.put_line('拋出單個(gè)異常練習(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('拋出多個(gè)異常練習(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;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 通過(guò)PLSQL Developer創(chuàng)建Database link,DBMS_Job,Procedure,實(shí)現(xiàn)Oracle跨庫(kù)傳輸數(shù)據(jù)的方法(推薦)
- Oracle SQLPlus導(dǎo)出數(shù)據(jù)到csv文件的方法
- python實(shí)現(xiàn)自動(dòng)化報(bào)表功能(Oracle/plsql/Excel/多線程)
- PL/SQL登錄Oracle數(shù)據(jù)庫(kù)報(bào)錯(cuò)ORA-12154:TNS:無(wú)法解析指定的連接標(biāo)識(shí)符已解決(本地未安裝Oracle需要連接服務(wù)器上的)
- PLSQL Developer連接oracle數(shù)據(jù)庫(kù)配置教程
- plsql 連接oracle數(shù)據(jù)庫(kù)詳細(xì)配置的方法步驟
- PLSQL配置遠(yuǎn)程Oracle數(shù)據(jù)庫(kù)連接的示例代碼
- Oracle通過(guò)sqlplus連接數(shù)據(jù)庫(kù)的方式
- PL/SQL中編寫Oracle數(shù)據(jù)庫(kù)分頁(yè)的存儲(chǔ)過(guò)程