Content

Oracle中的定时任务实例教程(oracle定时任务broken)全程干货

文章摘要

文章介绍了如何在数据库中使用INTERVAL参数来定时执行任务,重点讲解了不同定时方式的实现方法。文章详细描述了如何设置每天、每周、每月、每个季度、半年和每年的定时执行任务,并提供具体的INTERVAL参数示例,包括使用TRUNC函数、SYSDATE、NEXT_DAY、LAST_DAY、ADD_MONTHS等函数来计算定时时间。文章还提到可以通过调整INTERVAL的间隔来实现更精确的任务执行频率。

描述 INTERVAL参数值 每天午夜12点 TRUNC(SYSDATE + 1) 每天早上8点30分 TRUNC(SYSDATE + 1) + (8*60+30)/(24*60) 每星期二中午12点 NEXT_DAY(TRUNC(SYSDATE ), ”TUESDAY” ) + 12/24 每个月第一天的午夜12点 TRUNC(LAST_DAY(SYSDATE ) + 1) 每个季度最后一天的晚上11点 TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), ‘Q’ ) -1/24 每星期六和日早上6点10分 TRUNC(LEAST(NEXT_DAY(SYSDATE, ”SATURDAY”), NEXT_DAY(SYSDATE, “SUNDAY”))) + (6×60+10)/(24×60) 每秒钟执行次 Interval=> sysdate + 1/(24 * 60 * 60) 如果改成sysdate + 10/(24 * 60 * 60)就是10秒钟执行次 每分钟执行 Interval=> TRUNC(sysdate,’mi’) + 1/ (24*60) 如果改成TRUNC(sysdate,’mi’) + 10/ (24*60) 就是每10分钟执行次 每天定时执行 例如:每天的凌晨1点执行 Interval=> TRUNC(sysdate) + 1 +1/ (24) 每周定时执行 例如:每周一凌晨1点执行 Interval=> TRUNC(next_day(sysdate,’星期一’))+1/24 每月定时执行 例如:每月1日凌晨1点执行 Interval=>TRUNC(LAST_DAY(SYSDATE))+1+1/24 每季度定时执行 例如每季度的第一天凌晨1点执行 Interval=> TRUNC(ADD_MONTHS(SYSDATE,3),’Q’) + 1/24 每半年定时执行 例如:每年7月1日和1月1日凌晨1点 Interval=> ADD_MONTHS(trunc(sysdate,’yyyy’),6)+1/24 每年定时执行 例如:每年1月1日凌晨1点执行 Interval=>ADD_MONTHS(trunc(sysdate,’yyyy’),12)+1/24