定时器

工程上用到ORACLE的定时器, 写了一个简单的, 以备后续查看语法。

一、 查询用户JOB情况

select * from user_jobs;

二、 增加一个JOB

variable tvinfojob number;
begin
dbms_job.submit(job => :tvinfojob, what => 'TESTBYSU2;', next_date => to_date('2013-01-19 04:30:00', 'yyyy-mm-dd hh24:mi:ss'), interval => 'sysdate + 1');
commit;
end;
/

说明:

  1. 必须在命令行下执行, 否者定义的tvinfojob变量会成为两个session, 而取值不到。
  2. tvinfojob为自定义变量。
  3. oracle会自动分配JOBID
  4. interval字段为间隔时间:
    举例: sysdate + 1/24/12 为每隔5分钟执行一次
    sysdate + 1 为一天24小时, /24为1个小时, /12为5分钟, 类推。

三、去除一个JOB

首先到user_jobs表中找到JOBNUM。

begin
dbms_job.remove(jobnum);
commit;
end;
/

说明如增加一个JOB。

你可能感兴趣的:(定时器)