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