写法
declare
jobno number;
begin
dbms_jobsubmit(
jobno
nextMonthInventoryCARRYFORWARD(to_char(sysdate||||yyyyMMdd||||)) what
sysdate next_date可以不填
TRUNC(LAST_DAY(SYSDATE))++/Interval时间字符串 interval关键设置
)
end;
在Oracle数据库中我们经常会用到定时器Job来让数据库定时的自动执行一些脚本或做数据库备份或做数据的提炼或做数据库的性能优化包括重建索引等等的工作但是Oracle定时器Job时间的处理上千变万化还是比较灵活的本文我们总结了一些Oracle数据库定时器Job在各个时间段得写法接下来我们就开始介绍这些
Job参数是有Submit()过程返回的binary_integer
what参数是将被执行的PL/SQL代码块
next_date参数指何时将运行这个工作写Job的时候可以不指定该值
interval参数何时这个工作将被重执行
其中Interval这个值是决定Job何时被重新执行的关键
每分钟执行 Interval => TRUNC(sysdate mi)+/(*)
每天定时执行 例如每天的凌晨点执行 Interval => TRUNC(sysdate)++/()
每周定时执行 例如每周一凌晨点执行 Interval => TRUNC(next_day(sysdate ))+/ 星期一一周的第二天
每月定时执行 例如每月日凌晨点执行 Interval => TRUNC(LAST_DAY(SYSDATE))++/
每季度定时执行 例如每季度的第一天凌晨点执行 Interval => TRUNC(ADD_MONTH(SYSDATE) )Q)+/
每半年定时执行 例如每年月日和月日凌晨点 Interval => ADD_MONTHS(trunc(sysdateyyyy))+/
每年定时执行 例如每年月日凌晨点执行 Interval => ADD_MONTHS(trunc(sysdateyyyy))+/