?pl/sql中的異常是用exception when others then 進行捕獲的,
一般放在pl/sql塊的最后,用戶捕獲pl/sql中發生的錯誤,對異常的處理分為兩種:
1.阻斷程序式
exception
when others then
?raise_application_error(-20001,'請輸入正確的參數!');
一般用于數據錄入保存時進行校驗,校驗不合格給出提示。
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;
一般用于大批量數據處理時對不符合處理規則的數據進行記錄,待大量數據處理完成后,在對不符合處理規則的數據進行單獨處理。
sqlerrm是捕獲到的報錯信息。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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