0
我有一個程序,應該有選擇地從系統中清除作業。它使用dbms_schedule.drop_job
來執行此操作。PL/SQL異常/轉到/循環
我希望能夠遍歷遊標中的一組作業,並放下每一個作業。如果由於作業不存在而拋出異常,我想捕獲異常並繼續循環。
我有一個程序,應該有選擇地從系統中清除作業。它使用dbms_schedule.drop_job
來執行此操作。PL/SQL異常/轉到/循環
我希望能夠遍歷遊標中的一組作業,並放下每一個作業。如果由於作業不存在而拋出異常,我想捕獲異常並繼續循環。
沒有真正的需要這樣做。你爲什麼不內在地將光標加入ALL_SCHEDULER_JOBS
,使用正確的模式和作業名稱?
這樣你就可以保證工作確實存在。如果你想做的事情不是忽略錯誤,例如更新列表,你可以很容易地在代碼中做到這一點;沒有必要使用流量控制的例外。
如果你真的想使用例外,那麼你可以使用user defined exception。或者(不一定是個好主意)抓住一切;例如:
begin
-- some stuff
begin
dbms_scheduler.drop_job(job_name => 'my_job');
exception when others then
-- do some stuff
end;
end;