oracle起定时任务,每隔1秒执行一次

建一个测试表和一个存储过程:
  1. create table a(a date);  
  2.   
  3. create or replace procedure test as   
  4.     begin   
  5.     insert into a values(sysdate);   
  6.    end;   


定时任务样板:

  1. declare  
  2. job1 number;   
  3. begin  
  4.  dbms_job.submit(job1,  
  5.      what => 'test;',  
  6.      next_date => sysdate,  
  7.      interval => 'sysdate+1/(24*60*60)'); -- 每隔1s处理一次用户表  
  8.    commit;  
  9. end;  

查询定时任务:
  1. select job,broken,what,interval,t.* from user_jobs t;     


删除定时任务:

  1. begin  
  2.        dbms_job.remove('24');  
  3.        commit;  
  4. end;  



  1. Interval => TRUNC(sysdate+1)  --每天凌晨0点执行  
  2. Interval => TRUNC(sysdate+1)+1/24  --每天凌晨1点执行 


启动定时任务:

  1. begin    
  2.       dbms_job.run(24);  -- 24jod id  
  3. --      commit;  
  4. end;   











create or replace procedure backUpDayMessage as
begin
  insert into t_call_message_2017
    select *
      from t_Call_Message t
     where to_char(t.visit_time, 'YYYYMMDD') =
           to_char(TRUNC(sysdate - 1), 'YYYYMMDD');
end;

 
  declare
    backUpDayMessageJob number;
  begin
    dbms_job.submit(backUpDayMessageJob,
                    what => 'backUpDayMessage;',
                    next_date => TRUNC(sysdate) + 1 ,
                    interval => 'TRUNC(SYSDATE) +1+ 1 / 24');  
    commit;
  end;





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值