[英]PL/SQL exception/goto/loop
我有一個程序,應該有選擇地從系統中清除作業。 它使用dbms_schedule.drop_job
來執行此操作。
我希望能夠在游標中循環一組作業,並刪除每個作業。 如果由於作業不存在而拋出異常,我想捕獲異常並繼續循環。
沒有必要這樣做。 為什么不使用正確的架構和作業名稱將內部光標連接到ALL_SCHEDULER_JOBS
?
這樣你就可以保證工作確實存在。 如果您想要忽略錯誤之外的其他事情,例如更新列表,您可以輕松地在代碼中執行此操作; 沒有必要使用流量控制的例外。
如果您確實想使用異常,則可以使用用戶定義的異常 。 或者(不一定是個好主意)絕對抓住一切; 例如:
begin
-- some stuff
begin
dbms_scheduler.drop_job(job_name => 'my_job');
exception when others then
-- do some stuff
end;
end;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.