今天总结下oracle的任务队列管理器(job queue ),以后也方便查询.
我们要做定时任务时,有两种办法
一种是: 操作系统的定时,win的定时任务,unix的crontab
一种是: 数据库级的定时,她的效率更高,
这个过程有四个参数:job、what 、next_date与interval。
PROCEDURE Change (job IN binary_integer,
What IN varchar2,
next_date IN date,
interval IN varchar2)
此job参数是一个整数值,它唯一标识此工作。
What参数是由此工作运行的一块PL/SQL代码块。
next_date参数指示何时此工作将被执行。
interval参数指示一个工作重执行的频度。
sql> select job,next_date,next_sec,broken from user_jobs;
包含以下子过程:
Broken()过程。
change()过程。
Interval()过程。
Isubmit()过程。
Next_Date()过程。
Remove()过程。
Run()过程。
Submit()过程。
User_Export()过程。
What()过程。
begin
sys.dbms_job.submit(job => :job,
what => '存储过程名称;',
next_date => to_date('01-01-4000', 'dd-mm-yyyy'),
interval => 'TRUNC(SYSDATE)+1');
sys.dbms_job.broken(job => :job,
broken => true,
next_date => to_date('01-01-4000', 'dd-mm-yyyy'));
commit;
end;
/
参考:http://informix.blog.163.com/blog/static/95080271200910405723794/