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