Oracleのストアドプロシージャの定期実行を設定する方法は?
Oracle内では、DBMS_SCHEDULERパッケージを使用して定時タスクを作成・管理することができます。以下は定時タスクを設定する手順です:1. ストアドプロシージャの作成:まず、定時タスクで実行したいコードを含むストアドプロシージャを作成します。
CREATE OR REPLACE PROCEDURE your_procedure_name AS
BEGIN
— 在这里编写您的代码
— …
END;
DBMS_SCHEDULERパッケージのCREATE_JOBプロシージャを使用して、ジョブを作成してください。CREATE_JOBプロシージャでは、ジョブの名前、所属するジョブクラス、ジョブのタイプやその他の属性を指定することができます。
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => ‘your_job_name’,
job_type => ‘PLSQL_BLOCK’,
job_action => ‘BEGIN your_procedure_name; END;’,
start_date => SYSTIMESTAMP,
repeat_interval => ‘FREQ=DAILY; BYHOUR=0; BYMINUTE=0; BYSECOND=0;’,
end_date => NULL,
enabled => TRUE,
comments => ‘Your job description’
);
END;
コード内のrepeat_intervalパラメータは、ジョブの繰り返し間隔を指定します。この例では、ジョブは毎日0時に実行されます。ジョブを有効にするには、DBMS_SCHEDULERパッケージのENABLE手順を使用します。
BEGIN
DBMS_SCHEDULER.ENABLE(‘your_job_name’);
END;
上記の手順を使用すると、ストアドプロシージャを定期的に実行するスケジュールタスクを設定できます。必要に応じてジョブの繰り返し間隔やその他の属性をカスタマイズできます。