我想创建一个计划作业,该作业将在每月的第一天进行。
以下是我每月第一天手动运行的作业:
his_proc_mduniverse.md_proc_universe(v_date1, v_date2)
示例:
his_proc_mduniverse.md_proc_universe('01-JAN-2014' , '31-JAN-2014')
考虑到我需要每个月填写开始和结束日期,我如何通过工作时间表来实现这一点?
您可以为此任务创建作业:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'my_new_job1',
job_type => 'plsql_block',
job_action => 'BEGIN his_proc_mduniverse.md_proc_universe(TRUNC(SYSDATE, ''month''), TRUNC(LAST_DAY(SYSDATE))); END;',
repeat_interval => 'FREQ=MONTHLY;BYMONTHDAY=1',
enabled => TRUE,
auto_drop => FALSE,
comments => 'every 1st day of the month');
END;
/
编辑:要在指定时间(例如,凌晨5点)运行,请将repeat_interval
更改为:
repeat_interval => 'FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=5;BYMINUTE=0;BYSECOND=0',
文档:
- 使用计划程序
- CREATE_JOB程序
- TRUNC(日期)
- LAST_DAY(日期)