oracle定时任务每天执行,Oracle定时任务(定时执行某个SQL语句)_...

oracle定时任务每天执行,Oracle定时任务(定时执行某个SQL语句)_...

2023年7月21日发(作者:)

oracle定时任务每天执⾏,Oracle定时任务(定时执⾏某个SQL语句)Oracle定时任务,定时去调存储过程执⾏存储过程的sql--1、先写要执⾏的SQL语句,这⾥以:每个⼈助记码更新为每个⼈最新⼯作记录所属组织的助记码 为例。UPDATE bd_psndocSET bd_e = (select HR_e from HR_PSNMNECODE whereHR__psndoc = bd__psndoc)WHERE EXISTS(SELECT 1 FROM HR_PSNMNECODE WHERE HR__psndoc = bd__psndoc);--2、建⽴存储过程CREATE or replace PROCEDURE PSNMNECODEisBEGIN--sUPDATE bd_psndocSET bd_e = (select HR_e from HR_PSNMNECODE whereHR__psndoc = bd__psndoc)WHERE EXISTS(SELECT 1 FROM HR_PSNMNECODE WHERE HR__psndoc = bd__psndoc);--eend;--3、查看存储任务Select text from user_source where name='PSNMNECODE' order by line;--4、.创建任务(对某个数据库模式创建定时任务⼀定是该数据库⽤户登录,否则权限有问题)declare tm_jobb number; --tm_joba定时任务名称_(tm_jobb, --任务名称'PSNMNECODE;',--执⾏的过程sysdate,--执⾏时间'TRUNC(sysdate) + 1 +1.5/ (24)');--下次执⾏时间--'sysdate+1/(24*60*10)');--下次执⾏时间COMMIT;end;--5、查看有哪些定时任务--当前⽤户定时任务select * from user_jobs;--有权限访问的定时任务select * from all_jobs;--整个数据库所有定时任务select * from dba_jobs;--⼿⼯执⾏定时任务begindbms_(21);end;----6 停⽌任务begindbms_(21,true);end;--删除定时任务begindbms_(21);--ALL_的值end;如果正常建的定时任务到点未执⾏,可能原因如下:点击查询其他知识:1、存job信息的表user_jobs主要字段说明:2、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)''每3秒钟执⾏⼀次 'sysdate+3/(24*60*60)'每2分钟执⾏⼀次 'sysdate+2/(24*60)'每分钟执⾏Interval => TRUNC(sysdate,'mi') + 1/ (24*60) --每分钟执⾏interval => 'sysdate+1/(24*60)' --每分钟执⾏interval => 'sysdate+1' --每天interval => 'sysdate+1/24' --每⼩时interval => 'sysdate+2/24*60' --每2分钟interval => 'sysdate+30/24*60*60' --每30秒每天定时执⾏Interval => TRUNC(sysdate+1) --每天凌晨0点执⾏Interval => TRUNC(sysdate+1)+1/24 --每天凌晨1点执⾏Interval => TRUNC(SYSDATE+1)+(8*60+30)/(24*60) --每天早上8点30分执⾏每周定时执⾏Interval => TRUNC(next_day(sysdate,'星期⼀'))+1/24 --每周⼀凌晨1点执⾏Interval => TRUNC(next_day(sysdate,1))+2/24 --每周⼀凌晨2点执⾏每⽉定时执⾏Interval =>TTRUNC(LAST_DAY(SYSDATE)+1) --每⽉1⽇凌晨0点执⾏Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24 --每⽉1⽇凌晨1点执⾏每季度定时执⾏Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'q') --每季度的第⼀天凌晨0点执⾏Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'q') + 1/24 --每季度的第⼀天凌晨1点执⾏Interval => TRUNC(ADD_MONTHS(SYSDATE+ 2/24,3),'q')-1/24 --每季度的最后⼀天的晚上11点执⾏每半年定时执⾏Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 --每年7⽉1⽇和1⽉1⽇凌晨1点每年定时执⾏Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24 --每年1⽉1⽇凌晨1点执⾏

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689929236a295164.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信