• 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
  • 相关阅读:
    Win10怎么设置虚拟内存?
    树莓派 —— USB 摄像头简单测试 (拍照 & 视频)
    如何设置树莓派 VNC 的分辨率
    树莓派 VNC Viewer 远程桌面配置教程
    数据库开发——MySQL——数据的增删改查
    数据库开发——MySQL——foreign key
    数据库开发——MySQL——primary key
    一种关闭按钮
    oracle下 启动subversion命令 及 oracle相关服务启动备忘
    table内 获取同一行 其他列的value
  • 原文地址:https://www.cnblogs.com/klxll/p/3155990.html
Copyright © 2020-2023  润新知