0

システムからジョブを選択的にパージする手順があります。これを実行するために使用dbms_schedule.drop_jobします。

それぞれをドロップするカーソルでジョブのグループをループできるようにしたい。ジョブが存在しないために例外がスローされた場合は、例外をキャッチしてループを続行したいと考えています。

4

1 に答える 1

2

これを行う必要はありません。ALL_SCHEDULER_JOBS正しいスキーマとジョブ名を使用して、カーソルを に内部結合してみませんか?

そうすれば、ジョブが存在することが保証されます。リストを更新するなど、エラーを無視する以外のことをしたい場合は、コードで簡単に実行できます。フロー制御に例外を使用する必要はありません。

本当に例外を使用したい場合は、ユーザー定義の例外を使用できます。または (必ずしも良い考えではありません) 絶対にすべてをキャッチします。例えば:

begin
   -- some stuff
   begin
      dbms_scheduler.drop_job(job_name => 'my_job');
   exception when others then
      -- do some stuff
   end;

end;
于 2012-07-30T19:19:01.670 に答える