在PL/SQL中,可以使用DBMS_SCHEDULER來定時執行存儲過程。以下是一個示例:
1. 創建一個存儲過程:
CREATE OR REPLACE PROCEDURE my_procedure ASBEGIN
-- 在這里編寫需要執行的代碼
END;
2. 創建一個作業:
BEGINDBMS_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. 運行作業:
BEGINDBMS_SCHEDULER.RUN_JOB('my_job');
END;
以上代碼將手動運行名為`my_job`的作業。
通過使用DBMS_SCHEDULER,可以靈活地定時執行存儲過程,并根據自己的需求設置執行時間和頻率。