PL/SQLでスケジュールされたタスクを作成する方法は何ですか?
PL/SQLで定期的なタスクを作成するためには、DBMS_SCHEDULERパッケージを使用できます。以下は、タイマータスクを作成するための例です:1. OracleデータベースにSYSユーザーまたは適切な権限を持つユーザーでログインします。2. SQL*Plusや他の類似のツールで、次のコマンドを入力してジョブを作成します:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => ‘my_job’,
job_type => ‘PLSQL_BLOCK’,
job_action => ‘BEGIN my_procedure(); END;’,
start_date => SYSTIMESTAMP,
repeat_interval => ‘FREQ=DAILY; BYHOUR=12;’,
enabled => TRUE,
comments => ‘My job’); END; /
上記の例では、「my_job」というジョブが作成されました。 このジョブのタイプはPL/SQL_BLOCKで、匿名のPL/SQLブロックを実行するアクションが設定されており、その中で「my_procedure」というストアドプロシージャが呼び出されています。 3. ジョブの繰り返し間隔と有効状態を設定します。 上記の例では、ジョブが毎日正午に実行されるように設定されています(FREQ=DAILY; BYHOUR=12;)、そしてジョブは有効状態に設定されています(enabled => TRUE)。 4. ジョブの作成を送信します。 これらの手順が完了すると、スケジュールされたタスクは指定された時間間隔で自動的に実行されます。 必要に応じて、作成されたスケジュールされたタスクを変更または削除することができます。