0

プロシージャを保存しました。プロシージャには3つのカーソルがあります。本番環境では毎日プロシージャを実行する必要があります。毎日2つのカーソルだけを実行し、残りのカーソルは毎月1日にのみ実行する必要があります。 3番目のカーソルに移動します。解決策を提供してください。

4

2 に答える 2

3

カーソル自体は実際には実行されません。カーソルを使用するのはあなたのコードです。したがって、月の最初の日である場合は、コードでチェックできます。

-- Check if today is first day of the month
if trunc(sysdate, 'MM') = trunc(sysdate) then
  -- Use cursor here
end if;

おそらく、より良い解決策は、2 つの別個の手順を作成し、それぞれにジョブを作成することです。ジョブの間隔を指定して、一方を毎日実行し、もう一方を毎月実行することができます。

于 2011-02-23T10:38:35.273 に答える
1

dbms_schedulerを調べる

于 2011-02-23T11:49:36.730 に答える