[英]PL/SQL Continue after exception raised
我有帶有異常處理的簡單觸發器。 我的問題是當用戶收到錯誤消息時如何繼續應用程序。
CREATE OR REPLACE TRIGGER "AR_CHECK"
BEFORE INSERT ON TABLE
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE
v_check number;
cursor c_ar_check is
select ar_no
from name_view
where name_id = :new.bill_to_name_id
and name_type in ('TRAVEL_AGENT','COMPANY');
begin
open c_ar_check;
fetch c_ar_check into v_check;
close c_ar_check;
if v_check is null then
raise_application_error(-20101, 'ERROR - NUMBER MISSING');
end if;
end;
使用上面的代碼,我收到了錯誤消息,但用戶無法繼續下一步。 是否有可能讓用戶警告 NULL 值但有可能繼續?
隨着raise_application_error
,沒有。 它將終止執行。
但是,如果你用其他東西代替它 - 一個簡單的dbms_output.put_line
將在測試階段完成,而一些日志記錄過程 - 例如調用(n 自治事務)過程 - 在生產中可能是更好的選擇。
如果您選擇dbms_output.put_line
,請注意在該過程完成之前您不會看到任何消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.