?pl/sql中的異常是用exception when others then 進(jìn)行捕獲的,
一般放在pl/sql塊的最后,用戶(hù)捕獲pl/sql中發(fā)生的錯(cuò)誤,對(duì)異常的處理分為兩種:
1.阻斷程序式
exception
when others then
?raise_application_error(-20001,'請(qǐng)輸入正確的參數(shù)!');
一般用于數(shù)據(jù)錄入保存時(shí)進(jìn)行校驗(yàn),校驗(yàn)不合格給出提示。
2.非阻斷程序式
?exception
??when others then
??l_desc:= sqlerrm;
??rollback;
??insert into ST_CSREPORT_DETAIL_ERROR (RPTTYPE,RPTNO,STANID,ID,DESCRIPTION,CREATEDATE) select p_type,p_rptno,p_stanid,p_id,l_desc,sysdate from dual;
??commit;
一般用于大批量數(shù)據(jù)處理時(shí)對(duì)不符合處理規(guī)則的數(shù)據(jù)進(jìn)行記錄,待大量數(shù)據(jù)處理完成后,在對(duì)不符合處理規(guī)則的數(shù)據(jù)進(jìn)行單獨(dú)處理。
sqlerrm是捕獲到的報(bào)錯(cuò)信息。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
