oracle 创建job

在数据库中定义定时任务要方便很多,下面是一个实例

在dbms_job.submit()方法中,定义参数时写明了每个参数的名称,因为该方法有很多参数(网上很多实例没有定义参数名,可能是由于oracle版本的问题,我的始终报错:参数未完全绑定,所以必须加上参数名)

declare
jobno number;  //job号码
begin
dbms_job.submit(job=>jobno,   //job号
  what=>'dailyTaskPkg.insert_daily_task_everyday;',   //执行的存储过程
  next_date=>sysdate,                                 //下次执行时间
  interval=>'TRUNC(sysdate)+1');             //时间间隔每天一点执行
commit;
end;

这样写,会立即执行一次定时任务。

查看所有job:

select job, next_date, next_sec, failures, broken from user_jobs;

得到job number后就可以执行一系列操作:启动,暂停,删除等

begin
  dbms_job.run(3); 
end;

begin
  dbms_job.broken(3,true); 
end;

猜你喜欢

转载自www.cnblogs.com/KeepYongth/p/9072284.html