天天看點

oracle存儲過程執行job,oracle 存儲過程設定job定時執行

描述                                  INTERVAL參數值

每天午夜12點                      TRUNC(SYSDATE + 1)

每天早上8點30分                TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)

每星期二中午12點               NEXT_DAY(TRUNC(SYSDATE ), ‘‘TUESDAY‘‘ ) + 12/24

每個月第一天的午夜12點          TRUNC(LAST_DAY(SYSDATE ) + 1)

每個季度最後一天的晚上11點     TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), ‘Q‘ ) -1/24

每星期六和日早上6點10分         TRUNC(LEAST(NEXT_DAY(SYSDATE, ‘‘SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)

每秒鐘執行次

Interval => sysdate + 1/(24 * 60 * 60)

如果改成sysdate + 10/(24 * 60 * 60)就是10秒鐘執行次

每分鐘執行

Interval => TRUNC(sysdate,‘mi‘) + 1/ (24*60)

如果改成TRUNC(sysdate,‘mi‘) + 10/ (24*60) 就是每10分鐘執行次

每天定時執行

例如:每天的淩晨1點執行

Interval => TRUNC(sysdate) + 1 +1/ (24)

每周定時執行

例如:每周一淩晨1點執行

Interval => TRUNC(next_day(sysdate,‘星期一‘))+1/24

每月定時執行

例如:每月1日淩晨1點執行

Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

每季度定時執行

例如每季度的第一天淩晨1點執行

Interval => TRUNC(ADD_MONTHS(SYSDATE,3),‘Q‘) + 1/24

每半年定時執行

例如:每年7月1日和1月1日淩晨1點

Interval => ADD_MONTHS(trunc(sysdate,‘yyyy‘),6)+1/24

每年定時執行

例如:每年1月1日淩晨1點執行

Interval =>ADD_MONTHS(trunc(sysdate,‘yyyy‘),12)+1/24