Oracle JOB间隔时间参考解析


  本文标签:Oracle JOB

  如果你想了解Oracle JOB间隔时间参考的实际应用方案的话,你就可以浏览以下的文章对Oracle JOB间隔时间参考在实际相关操作中的正确用法,有一个更加深入的认识,以下就是正文的详细介绍  。

  如果你的存储过程名为PROC_RAIN_JM

  再写一个存储过程名为PROC_JOB_RAIN_JM

  内容是:

  

  1. Create Or Replace Procedure PROC_JOB_RAIN_JM  
  2. Is  
  3. li_jobno Number;  
  4. Begin  
  5. DBMS_JOB.SUBMIT(li_jobno,PROC_RAIN_JM;,
    SYSDATE,TRUNC(SYSDATE + 1));  
  6. End; 

  

  最后那一项可以参考如下:

  每天午夜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)

  在Oracle JOB间隔时间参考,其中li_jobno是它的ID,可以通过这个ID停掉这个任务,最后想说的是不要执行多次,你可以在里面管理起来,发现已经运行了就不SUBMIT

  每天运行一次 SYSDATE + 1

  每小时运行一次 SYSDATE + 1/24

  每10分钟运行一次 SYSDATE + 10/(60*24)

  每30秒运行一次 SYSDATE + 30/(60*24*60)

  每隔一星期运行一次 SYSDATE + 7

  不再运行该任务并删除它 NULL

  每年1月1号零时

  1. trunc(last_day(to_date(extract(year from sysdate)||12||01,yyyy-mm-dd))+1) 

  上述的相关内容就是对Oracle JOB间隔时间参考的描述,希望会给你带来一些帮助在此方面  。