plsqlでストアドプロシージャを定期的に実行する方法は何ですか。

PL/SQL内では、DBMS_SCHEDULERを使用してストアドプロシージャを定期的に実行することができます。以下は一例です:1. ストアドプロシージャを作成する。

CREATE OR REPLACE PROCEDURE my_procedure AS
BEGIN

– 在这里编写需要执行的代码 END;


宿題を作成する。

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=0; BYMINUTE=0; BYSECOND=0;’,

 

end_date        => NULL,

 

enabled         => TRUE,

 

auto_drop       => FALSE

 

); END;


上記の例では、”start_date”はジョブの開始時間を指定し、”repeat_interval”はジョブの繰り返し間隔を指定します。ここでは、毎日0時0分0秒に実行されます。”enabled”はジョブが有効かどうかを指定します。3. ジョブを実行します。

BEGIN

 

DBMS_SCHEDULER.RUN_JOB(‘my_job’); END;


DBMS_SCHEDULERを使用して、my_jobというジョブを手動で実行するコードが示されています。この機能を使うと、ストアドプロシージャを柔軟にスケジュールして、実行時間や頻度を自分のニーズに合わせて設定することができます。

bannerAds