在數據庫中定義定時任務要方便很多,下面是一個實例
在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;