【oracle】添加定时作业

1、创建JOB语法

DBMS_JOB.SUBMIT的用法demo

DBMS_JOB.SUBMIT(:jobno, //job号
'your procedure',        //要执行的过程
trunc(sysdate)+1/24,    //开始执行时间
'trunc(sysdate)+1/24+1'  //时间间隔,下次执行时间
)

调用语句:

dbms_job.submit( job out binary_integer,
what       in   varchar2,
next_date     in   date,
interval     in   varchar2,
no_parse     in   boolean)

参数说明:

job:输出变量,是此次任务在任务队列中的编号

what:执行任务的名称及其输入参数

next_date:任务开始执行时间

interval:每次间隔时间,任务下次执行时间

 

2、创建JOB示例

TEST_TIMING为存储过程名称,后面要带着分号;

定时job:每分钟执行一次TEST_TIMING存储过程 定义如下

复制代码
DECLARE
JOB NUMBER;
ICOUNT NUMBER;
BEGIN
  SELECT COUNT(*) INTO ICOUNT FROM USER_JOBS WHERE WHAT = 'TEST_TIMING();';
  IF ICOUNT = 0 THEN
    SYS.DBMS_JOB.SUBMIT(JOB,'TEST_TIMING();',SYSDATE + 1/24/60,'SYSDATE + 1/24/60');
  END IF;
COMMIT;
END;
/
复制代码

 

3、其他操作JOB语句

删除job:   DBMS_JOB.REMOVE(jobno);

修改要执行的操作: DBMS_JOB.WHAT(jobno,what);

修改下次执行时间: DBMS_JOB.NEXT_DATE(jobno,next_date);

修改间隔时间:DBMS_JOB.INTERVAL(jobno,interval);

停止job: DBMS_JOB.BROKEN(jobno,broken,next_date)

启动job: DBMS_JOB.RUN(jobno)

 

posted @   harara  阅读(180)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-09-07 Netty实现Tcp服务端
点击右上角即可分享
微信分享提示

目录导航