日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Oracle之例外(异常)

發(fā)布時(shí)間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle之例外(异常) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

/*
?? 例外? 其實(shí)就是異常
???????? 處理發(fā)生的異常
???????? java try{}catch(OutofBoundIndexException){}catch(Exception e){}
???????? 數(shù)據(jù)庫(kù)對(duì)異常的處理
???????? exception
???????????? when 異常類型 then
???????????????? 處理語(yǔ)句
???????? 數(shù)據(jù)庫(kù)異常分類? 運(yùn)行時(shí)異常 編譯時(shí)異常 ClassCast ClassNotFound
????????????????? 系統(tǒng)定義異常
????????????????????? 除數(shù)為0
????????????????????? 賦值錯(cuò)誤? 類型轉(zhuǎn)換錯(cuò)誤
?????????????????????
????????????????? 自定義異常
???????????????????? 使用場(chǎng)景:是不滿足某些特定業(yè)務(wù)場(chǎng)景
???????????????????? java new 自定義類 繼承Exception errorCode errorMsg
????????????????? 數(shù)據(jù)庫(kù)
???????????????????? dept_no_emp? exception? --聲明變量 類型為異常類型
???????????????????? raise dept_no_emp
???????
*/
--除數(shù)為零? zero_divide
--類型轉(zhuǎn)換? 把字符串賦值給數(shù)值
declare
?? v_n number :=0;
?? v_m number :=1;
begin
?? v_n := 'ss';
?? v_m:=v_m/v_n;
exception
?? when value_error?? then
????? dbms_output.put_line('賦值錯(cuò)誤');
?? when zero_divide?? then
????? dbms_output.put_line('除數(shù)不能為0');
?? when others?? then??? --others 代表最大范圍的異常? Exception
???? dbms_output.put_line('出現(xiàn)異常');
end;

--太多記錄數(shù)
declare?
???? emp_row?? emp%rowtype;???? --記錄類型變量
begin?
???? select * into emp_row from emp;???
exception
??? when too_many_rows then
????? dbms_output.put_line('太多記錄數(shù)請(qǐng)使用游標(biāo)');
end;
---自定義異常 數(shù)據(jù)庫(kù)不報(bào)錯(cuò) 不滿足業(yè)務(wù)場(chǎng)景
--使用游標(biāo)查詢40號(hào)部門的員工信息 如果沒有員工提示我 招人
declare
??? cursor emp_cursor(dno number) is select * from emp where deptno=dno;? --聲明游標(biāo)
??? emp_row emp%rowtype; --記錄類型用于接收游標(biāo)提取
??? dept_no_emp exception; --聲明自定義異常
begin
??? open emp_cursor(40); --打開游標(biāo)
??? fetch emp_cursor into emp_row;? --保證先提取再判斷
??? if emp_cursor%notfound then?
????? --沒有員工 拋出異常
????? raise dept_no_emp;
??? end if;
??? close emp_cursor;--關(guān)閉游標(biāo)
exception
??? when dept_no_emp then
????? dbms_output.put_line('部門沒有員工,快點(diǎn)招人');
end;

轉(zhuǎn)載于:https://www.cnblogs.com/flyuphigh/p/8072205.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Oracle之例外(异常)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。