ITPub博客

首页 > 数字化转型 > ERP > 定时作业

定时作业

原创 ERP 作者:axman 时间:2005-03-18 17:15:06 0 删除 编辑
定制JOB的下次执行时间的关键是利用trunc()函数,使计算时间基于一个确定的时间点。[@more@]定制JOB的下次执行时间的关键是利用trunc()函数,使计算时间基于一个确定的时间点。 举几个简单的例子: 1.每个小时整点执行的例子: declare v_jobno number; begin dbms_job.submit(v_jobno, 'null;', trunc(sysdate, 'HH24'), 'trunc(sysdate, ''HH24'') + 1/24'); commit; end; / 2.每个小时半点执行的例子: declare v_jobno number; begin dbms_job.submit(v_jobno, 'null;', trunc(sysdate, 'HH24') + 3/48, 'trunc(sysdate, ''HH24'') + 3/48'); commit; end; / 3.每半个小时执行一次的例子: declare v_jobno number; begin dbms_job.submit(v_jobno, 'null;', trunc(sysdate, 'HH24') + FLOOR(TO_NUMBER(TO_CHAR(sysdate, 'MI'))/30)/48, 'trunc(sysdate, ''HH24'') + FLOOR(TO_NUMBER(TO_CHAR(sysdate, ''MI''))/30)/48 + 1/48'); commit; end; / 或者 declare v_jobno number; begin dbms_job.submit(v_jobno, 'null;', trunc(sysdate, 'HH24') + (trunc(sysdate + 1/48, 'HH24') - trunc(sysdate , 'HH24'))/2, 'trunc(sysdate, ''HH24'') + (trunc(sysdate + 1/48, ''HH24'') - trunc(sysdate , ''HH24''))/2 + 1/48'); commit; end; / 4.每周一早上10点执行 declare v_jobno number; begin dbms_job.submit(v_jobno, 'null;', trunc(sysdate, 'd') + 8 + 10/24, 'trunc(sysdate, ''d'') + 8 + 10/24'); commit; end; /

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25498/viewspace-793276/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 护眼运动
请登录后发表评论 登录
全部评论

注册时间:2011-09-17

  • 博文量
    28
  • 访问量
    630492