/*
dbms_job包;
用于安排和管理作业队列。
通过使用队列,是oracle数据库定期执行特定的任务;
*/
– 1,submit
/*
该过程用于建立一个作业
需要给出作业的操作,下一次运行时间,时间间隔
*/
begin
dbms_job.submit(
:jobno,what ,next_date ,interval ,no_parse ,instance ,force );
end;
– 2,remove
/*
删除作业队列中的特定作业
*/
begin
dbms_job.remove(1);
end;
–3, change
/*
该过程用于改变作业相关的信息;
*/
begin
dbms_job.change(job,what,next_date ,interval ,instance ,force );
end;
–4.what
/*
该过程改变作业要执行的操作
*/
begin
dbms_job.what(job,what );
end;
–5,next_date
/*
改变作业下次运行时间
*/
begin
dbms_job.next_date(job,next_date );
end;
–6,instance
/*
改变作业的历程
*/
begin
dbms_job.instance(job,instance => ,force => );
end;
–7,interval
/*
改变作业的时间间隔
*/
begin
dbms_job.interval(job,job => );
end;
–8,broken
/*
给作业设置中断标记,中断后,就不会被运行
*/
begin
dbms_job.broken(job,broken => );
end;
–9,run
/*
该过程运行已经存在的作业
*/
begin
dbms_job.run(job);
end;
/*
作业使用用例
*/
–建立作业
declare
job number;
begin
dbms_job.submit(job,’dbms_stats.gather_schema_stats(”SCOTT”);’,’sysdate’,’sysdate+1’);
dbms_output.put_line(job);
end;
–运行作业
begin
dbms_job.run(23);
end;