1.新建一个定时任务,需要注意的是创建之时会自动启动
declare
jobID number;
begin
dbms_job.submit(
job => jobID, /*自动生成的ID,也可以设置自定义ID,不推荐使用自定义可能会重复*/
what => 'INTO_ERROR_LOG1;',/*执行的内容,存储过程或者sql语句*/
next_date => sysdate, /*立刻执行一次,可以设置第一次执行时间*/
interval => 'trunc(sysdate,''mi'')+1/(24*60)'); /*执行间隔,这里是每分钟执行一次*/
commit;
end;
设置间隔时间公式:
trunc(sysdate,''mi'')+1/(24*60)') 每分钟执行一次
trunc(sysdate,''mi'')+2/(24*60)') 每两分钟执行一次,以此类推
--------
sysdate+1/(24*60*60) 每秒钟执行一次
sysdate+2/(24*60*60) 每两秒钟执行一次,以此类推
2.查询所有的定时任务。
select * from dba_jobs;
3.启动定时任务,暂停定时任务。
begin
dbms_job.broken(123,true,sysdate); /*第一个参数是job的ID,如123是一个ID。第二个是bool可以true,false,第三个参数是停止的时间,从什么时候开始停止*/
commit;
end;
begin
DBMS_JOB.RUN(123);/*使用job的ID进行任务启动*/
commit;
end;
4.修改定时任务的间隔时间。
begin
dbms_job.interval(123,'sysdate+10/(24*60*60)'); /*第一个参数是job的ID,滴二个参数是重新设置间隔多久执行一次*/
commit;
end;
----------------小尾巴分割----------------------------------------
菜鸟的记录也是进步~如果对你有所帮助,那就点赞一下吧。-----来自没有代码的程序员小萝卜