Oracle

如何自動執行oracle儲存過程

  • June 20, 2021

是否有可能在特定時間/日期後自動執行程序?例如,我想在 2 天后自動執行這個儲存過程:

CREATE OR REPLACE PROCEDURE deleteresetlinks
AS BEGIN  
 DELETE FROM passwordresetlink WHERE date_created <= TRUNC(SYSDATE) - 3;
END;

您可以按照以下方式創建調度程序作業:

begin
   dbms_scheduler.create_job
   ( job_name        => 'DELETE_RESET_LINKS'
   , job_type        => 'PLSQL_BLOCK'
   , job_action      => 'begin deleteresetlinks; end;'
   , start_date      => trunc(sysdate) +2
   , repeat_interval => 'freq=daily; interval=2;'
   , enabled         => true );
end;

查詢 USER_SCHEDULER_JOBS 以查看詳細資訊,查詢 USER_SCHEDULER_JOB_LOG 和 USER_SCHEDULER_JOB_RUN_DETAILS 以獲取執行歷史記錄。

引用自:https://dba.stackexchange.com/questions/294270