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;