创建oracle中每日凌晨0点调用存储过程job的语句
时间: 2023-12-10 07:42:19 浏览: 83
可以使用Oracle的DBMS_SCHEDULER创建一个定时调用存储过程的job。以下是一个每天凌晨0点调用存储过程的示例:
```
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'my_daily_job',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN my_stored_procedure(); END;',
start_date => TRUNC(SYSDATE),
repeat_interval => 'FREQ=DAILY; BYHOUR=0; BYMINUTE=0; BYSECOND=0;',
enabled => TRUE,
comments => 'Job to run my_stored_procedure daily at midnight');
END;
```
其中,`my_stored_procedure()`是你要调用的存储过程的名称。`start_date`指定了job的开始时间,使用`TRUNC(SYSDATE)`可以将当前时间戳转化为当天的零点。`repeat_interval`指定了job的重复间隔,这里使用了每天零点的频率。`enabled`为TRUE表示job创建后立即启用。
你可以将以上代码块放在一个PL/SQL脚本文件中,并在Oracle SQL Developer或者SQL*Plus中运行该脚本文件,即可创建每天凌晨0点调用存储过程的job。
阅读全文