• oracle起定时任务


    1.创建表a(用于定时任务存储数据)

    create table a(a date);

    2.编写一个执行函数test(用于定时任务定时调用)

    create or replace procedure test as  --(函数名称,可带参数)

    begin

     insert into a values(sysdate); --(这里可以写复杂sql)

    end;

    3.创建一个定时任务模板(现在就可以定时执行插入数据的定时任务了)

    declare
    job1 number;
    begin
    dbms_job.submit(job1,
    what => 'test;',--(执行函数名称)
    next_date => sysdate,
    interval => 'sysdate+1/(24*60*60)'); -- (每隔1s处理一次用户表)
    commit;
    end;

    注:Interval => TRUNC(sysdate+1)  --每天凌晨0点执行  

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

      Interval => TRUNC(next_day(sysdate,'星期一'))+1/24 --每月1日凌晨1点执行

      Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24--每季度的第一天凌晨1点执行

      Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24--每年7月1日和1月1日凌晨1点

    4.查询定时任务详情

    select job,broken,what,interval,t.* from user_jobs t;

    select job, next_date, next_sec, failures, broken from user_jobs;--下次执行时间

    5.启用定时任务

    begin
    dbms_job.run(25); --(job的id)
    commit;
    end;

    5.删除定时任务

    begin

    dbms_job.remove('24');

    commit;

    end;

  • 相关阅读:
    7月27日
    7月26日
    7月25日
    7月24日
    UI基础 选项卡
    UI基础 手势
    UI基础 小球拖拽
    UI基础 事件
    UI基础 自定义视图
    UI基础 视图控制器
  • 原文地址:https://www.cnblogs.com/e-x-c-e-ption/p/14576280.html
Copyright © 2020-2023  润新知