数据定时自动删除功能的实现

 

1. 数据定时自动删除功能的实现:

 

-- 存储过程,删除上个月的历史纪录

CREATE OR REPLACE PROCEDURE delruleloghisdata AS

BEGIN

DELETE FROM rulelogtext WHERE inputdate<=trunc(sysdate-30) ;

COMMIT;

END;

/

 

-- 定时执行:每天凌晨2点执行

DECLARE rulelog_jobid NUMBER;

BEGIN

  DBMS_JOB.SUBMIT(

                  JOB       => rulelog_jobid, /*自动生成JOB_ID*/

                  WHAT      => 'delruleloghisdata;', /*需要执行的过程或SQL语句*/

                  NEXT_DATE => TRUNC(sysdate) + 1 +2 / (24) , /*初次执行时间*/

                  INTERVAL  => 'TRUNC(sysdate) + 1 +2 / (24)'); /*执行周期*/

  DBMS_JOB.run(rulelog_jobid);

  COMMIT;

END;

/

其中:  
●job
:输出变量,是此任务在任务队列中的编号;  
●what
:执行的任务的名称及其输入参数;  
●next_date
:任务执行的时间;  
●interval
:任务执行的时间间隔。  
其中 Interval 这个值是决定 Job 何时,被重新执行的关键;当 interval 设置为 null 时,该 job 执行结束后,就被从队列中删除。假如我们需要该 job 周期性地执行,则要用 ‘sysdatem’ 表示。如何更好地确定执行时间的间隔需要我们掌握一个函数 TRUNC

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值