Oracle 存储过程修改下次执行时间
时间: 2023-10-28 12:06:13 浏览: 182
要修改 Oracle 存储过程的下次执行时间,需要使用 Oracle 作业调度器来管理和调度存储过程的执行。可以按照以下步骤进行操作:
1. 创建一个新的作业调度器对象:
```
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'my_job',
job_type => 'STORED_PROCEDURE',
job_action => 'my_procedure',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=DAILY;BYHOUR=1;BYMINUTE=0;BYSECOND=0;',
enabled => TRUE);
END;
/
```
在上面的例子中,我们创建了一个名为 `my_job` 的作业调度器对象,指定了要执行的存储过程为 `my_procedure`,开始时间为当前时间 (`SYSTIMESTAMP`),每天的 1 点钟执行一次。
2. 修改作业调度器的下次执行时间:
```
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE (
name => 'my_job',
attribute => 'next_run_time',
value => SYSTIMESTAMP + INTERVAL '1' HOUR);
END;
/
```
在上面的例子中,我们将作业调度器 `my_job` 的下次执行时间设置为当前时间加上 1 小时。
注意:作业调度器的下次执行时间只有在作业调度器状态为 “可用” 时才会生效。如果作业调度器状态为 “禁用”,则需要先启用它才能生效。
希望这些信息对你有所帮助!
阅读全文
相关推荐



















