plsql知识梳理-计划任务

Oracle的Job用于创建定时任务,周期性执行指定的PL/SQL代码块,如存储过程。创建Job时需设置job ID、执行主体、开始执行时间和执行间隔。本文列举了多种间隔设置示例,包括每分钟、每天、每周、每月、每季度和每年执行的配置方法。
1 计划任务-job 

       Job 为oracle中的定时任务,可以周期的执行某些任务。

       最常用的就是周期性的执行某些存储过程。

2 计划任务的创建

  (待上传图片)

       创建Job主要有4个参数设置

        job 参数是一个整数值,它唯一标识此job工作,   Job 是这个任务的ID号,是由job序列自动生成的,创建job成功后,oracle自动赋值。

  What 参数是由此工作运行的一块PL/SQL代码块, What 是这个任务的执行主体,如我想周期执行我的一个存储过程(MyProc),

                  注意以分号结尾,what参数 的设置内容为    MyProc;

   next_date 参数指示何时此工作将被执行。

   interval 参数指示一个工作重执行的频度,是指定执行的周期大小。如  Interval 设置为sysdate+1/1440 是 每天1440分钟,即一分钟运行一次。

 

3 job中一些常用的周期设置

      一些参考周期的设置

       1:每分钟执行

           Interval => TRUNC(sysdate,'mi') + 1/ (24*60) 或 Interval => sysdate+1/1440

       2:每天定时执行

       例如:每天的凌晨1点执行

         Interval => TRUNC(sysdate) + 1 +1/ (24)

       3:每周定时执行

       例如:每周一凌晨1点执行

         Interval => TRUNC(next_day(sysdate,'星期一'))+1/24

      4:每月定时执行

      例如:每月1日凌晨1点执行

        Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

      5:每季度定时执行

      例如每季度的第一天凌晨1点执行

        Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

      6:每半年定时执行

       例如:每年7月1日和1月1日凌晨1点

       Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

     7:每年定时执行

      例如:每年1月1日凌晨1点执行

      Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值