【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)
作者:小念
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。

浙公网安备 33010602011771号