【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 @ 2022-09-07 16:35  harara  阅读(191)  评论(0)    收藏  举报