1、新建一个存储过程
create or replace procedure p_insert_into_t1 as begin insert into t1 (select * from t where STATUS=1); end;
2、新建一个作业
variable job_abc number; begin sys.dbms_job.submit(:job_abc, 'p_insert_into_t1;', sysdate, 'sysdate+1/1440'); commit; end;
其中,
参数1表示作业名字,参数2表示执行的存储过程,
参数3表示开始执行的时间,参数4表示执行的时间间隔
commit表示立即开始执行
执行成功后,返回job的ID
3、查询作业
select job, log_user, to_char(last_date,'yyyy-mm-dd hh24:mi:ss') last_date, to_char(next_date,'yyyy-mm-dd hh24:mi:ss') next_date, interval, what from user_jobs
4、执行作业
execute dbms_job.run(job_id);
5、删除作业
execute dbms_job.remove(job_id);
6、暂停和继续作业
execute dbms_job.broken(job_id,true); execute dbms_job.broken(job_id,false);