當定義oracle定時任務時,時間間隔的定義是,一次任務的結束時刻到另一次任務的開始時刻。
當定義Oracle定時任務時,時間間隔的定義是,一次任務的結束時刻到另一次任務的開始時刻。
例:select (TRUNC(sysdate,'mi') + 1 / (24*60)),(sysdate + 1 / (24*60)) from dual
錯誤:sysdate + 1 / (24*60)作為時間間隔,這樣每次計算下次執行時間時,,會把當前時間加進去,也就是任務的執行時間被加進去了。
正確:TRUNC(sysdate,'mi') + 1 / (24*60),用trunc忽略當前時間的誤差(就是執行任務多出的時間)。這里首先我們要有共識,即按分鐘跑的任務執行時間不能超過一分鐘,按小時跑的任務執行時間不能超過一個小時,按天執行的任務執行時間不能超過一個小時。這樣我們就可以用trunc去大膽的忽略,小時:TRUNC(sysdate,'hh24') + 1 / 24, 天:TRUNC(sysdate,'dd') + 1
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com