zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    TF利用分布式队列控制线程
    非随机的抽样
    代码杂谈-split函数
    beta函数与置信度估计
    tensorflow模型
    SQL的技巧
    tensorflow输入数据处理
    flink学习
    Python
    通过淘宝IP地址库获取IP位置
  • 原文地址:https://www.cnblogs.com/e-x-c-e-ption/p/14576280.html
Copyright © 2011-2022 走看看