资源描述:
《ORACLE定时执行存储过程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、推荐用dbms_scheduler方式更好(2012-11-19注)[sql] viewplain copy1./* 2.查询: 3.select job,broken,what,interval,t.* from user_jobs t; 4.job job的唯一标识,自动生成的 5.broken 是否处于运行状态,N;运行;Y:停止 6.what 存储过程名称 7.next_date 初次执行时间 8.interval 执行周期 9. 10.删除: 11.be
2、gin dbms_job.remove(jobno); end; 12.根据what的内容确定其对应的job,并如此执行删除 13. 14.执行时间例子: 15.描述 INTERVAL参数值 16.每天午夜12点 ''TRUNC(SYSDATE + 1)'' 17.每天早上8点30分 ''TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'' 18.每星期二中午12点
3、 ''NEXT_DAY(TRUNC(SYSDATE ), ''''TUESDAY'''' ) + 12/24'' 19.每个月第一天的午夜12点 ''TRUNC(LAST_DAY(SYSDATE ) + 1)'' 20.每个季度最后一天的晚上11点 ''TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), ''Q'' ) -1/24'' 21.每星期六和日早上6点10分 ''TRUNC(LEAST(NEXT_DAY(SYSDATE, ''''SATU
4、RDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'' 22.每3秒钟执行一次 'sysdate+3/(24*60*60)' 23.每2分钟执行一次 'sysdate+2/(24*60)' 24. 25.1:每分钟执行 26.Interval => TRUNC(sysdate,'mi') + 1/ (24*60) --每分钟执行 27.interval => 'sysdate+1/(2
5、4*60)' --每分钟执行 28.interval => 'sysdate+1' --每天 29.interval => 'sysdate+1/24' --每小时 30.interval => 'sysdate+2/24*60' --每2分钟 31.interval => 'sysdate+30/24*60*60' --每30秒 32.2:每天定时执行 33.Interval => TRUNC(sysdate+1) --每天凌晨0点执行 34.Interval => TRUNC(
6、sysdate+1)+1/24 --每天凌晨1点执行 35.Interval => TRUNC(SYSDATE+1)+(8*60+30)/(24*60) --每天早上8点30分执行 36.3:每周定时执行 37.Interval => TRUNC(next_day(sysdate,'星期一'))+1/24 --每周一凌晨1点执行 38.Interval => TRUNC(next_day(sysdate,1))+2/24 --每周一凌晨2点执行 39.4:每月定时执行 40.Interval
7、 =>TTRUNC(LAST_DAY(SYSDATE)+1) --每月1日凌晨0点执行 1.Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24 --每月1日凌晨1点执行 2.5:每季度定时执行 3.Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'q') --每季度的第一天凌晨0点执行 4.Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'q') + 1/24 --每季度的第一天凌晨1点执行 5.
8、Interval => TRUNC(ADD_MONTHS(SYSDATE+ 2/24,3),'q')-1/24 --每季度的最后一天的晚上11点执行 6.6:每半年定时执行 7.Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 --每年7月1日和1月1日凌晨1点 8.7:每年定时执行 9.Interval =>ADD_