• Oracle创建定时器


    --创建日志信息表(测试表)

    create table T_LOG
    (
     id number,
     datetime DATE
    );


    --插入测试数据
    insert into t_log values (1,'25-5月-2006');


    --查看日志信息
    select * from t_log;


    --创建删除日志信息的存储过程
    create or replace
    procedure pro_clear_log  as
    begin
        delete from T_LOG where datetime < add_months(sysdate,-12);   --删除一年前的存储过程
        commit;
    end;


    --创建调度任务  
    declare   
      jobno number;   
    begin   
      dbms_job.submit(
        jobno,
        what => 'pro_clear_log;',   --pro_clear_log为存储过程的名称
        Interval => 'TRUNC(sysdate,''mi'') + 1 / (24*60)'   --定义时间间隔
      );   
      commit;   
    end; 


    select * from user_jobs;--查看调度任务  

    select * from dba_jobs_running;--查看正在执行的调度任务  
      
    select * from dba_jobs;--查看执行完的调度任务


    --删除调度任务  
    declare   
      jobno number;   
    begin   
      dbms_job.remove(48) ;
      commit;   
    end; 


    1、 每分钟执行
    Interval => TRUNC(sysdate,’mi’) + 1 / (24*60)
    2、 每天定时执行
    例如:每天的凌晨2点执行
    Interval => TRUNC(sysdate) + 1 +2 / (24)
    3、 每周定时执行
    例如:每周一凌晨2点执行
    Interval => TRUNC(next_day(sysdate,2))+2/24 --星期一,一周的第二天
    4、 每月定时执行
    例如:每月1日凌晨2点执行
    Interval =>TRUNC(LAST_DAY(SYSDATE))+1+2/24
    5、 每季度定时执行
    例如每季度的第一天凌晨2点执行
    Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 2/24
    6、 每半年定时执行
    例如:每年7月1日和1月1日凌晨2点
    Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24
    7、 每年定时执行
    例如:每年1月1日凌晨2点执行
    Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+2/24
  • 相关阅读:
    很好的Socket教程
    TcpClient 错误"不能做任何连接,因为目标机器积极地拒绝它" 的解决
    Tcp通信 暑期学习笔记(二)
    svn1.5+TortoiseSVN1.5+VisualSVN1.5
    进程、线程、应用程序域 暑期学习笔记(一)
    线程状态(转)
    Udp通信 暑期学习笔记(三)
    杜婧/于洋(为奥运冠军名字作诗)
    王峰(为奥运冠军名字作诗)
    刘子歌(为奥运冠军名字作诗)
  • 原文地址:https://www.cnblogs.com/klxll/p/3155990.html
Copyright © 2020-2023  润新知