程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle JOB間隔時間參考解析

Oracle JOB間隔時間參考解析

編輯:Oracle數據庫基礎

如果你想了解Oracle JOB間隔時間參考的實際應用方案的話,你就可以浏覽以下的文章對Oracle JOB間隔時間參考在實際相關操作中的正確用法,有一個更加深入的認識,以下就是正文的詳細介紹。

如果你的存儲過程名為PROC_RAIN_JM

再寫一個存儲過程名為PROC_JOB_RAIN_JM

內容是:

  1. Create Or Replace Procedure PROC_JOB_RAIN_JM  
  2. Is  
  3. li_jobno Number;  
  4. Begin  
  5. DBMS_JOB.SUBMIT(li_jobno,'PROC_RAIN_JM;',
    SYSDATE,'TRUNC(SYSDATE + 1)');  
  6. End; 

最後那一項可以參考如下:

每天午夜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)'

在Oracle JOB間隔時間參考,其中li_jobno是它的ID,可以通過這個ID停掉這個任務,最後想說的是不要執行多次,你可以在裡面管理起來,發現已經運行了就不SUBMIT

每天運行一次 'SYSDATE + 1'

每小時運行一次 'SYSDATE + 1/24'

每10分鐘運行一次 'SYSDATE + 10/(60*24)'

每30秒運行一次 'SYSDATE + 30/(60*24*60)'

每隔一星期運行一次 'SYSDATE + 7'

不再運行該任務並刪除它 NULL

每年1月1號零時

  1. trunc(last_day(to_date(extract(year from sysdate)||'12'||'01','yyyy-mm-dd'))+1) 

上述的相關內容就是對Oracle JOB間隔時間參考的描述,希望會給你帶來一些幫助在此方面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved