龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle JOB间隔时间参考解析

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
如果你想了解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间隔时间参考的描述,希望会给你带来一些帮助在此方面。

精彩图集

赞助商链接