PLSQL創建job


今天用PL/SQL Developer寫了一個簡單的作業調度,但卻費了我不少周折,在此分享給和我一樣的初學者。

 

1. 鼠標右鍵點擊 jobs 彈出 Create Job 對話框,如下圖:

 

 

2. 在對話框中輸入相應的值,如下圖:

 

 

 

其中:

       What                   ——作業執行時將要調用的存儲過程;

       Next date            ——下一次作業執行時間;

       Interval               ——作業執行時間間隔,這個參數涉及到Next date的值,Next是按照Interval

計算出來的。

 

 

Interval幾種常用的寫法:

 

1:每分鍾執行

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

Interval => sysdate+1/1440

2:每天定時執行

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

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

3:每周定時執行

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

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

4:每月定時執行

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

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

5:每季度定時執行

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

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

6:每半年定時執行

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

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

7:每年定時執行

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

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

-----------------------------------------------------------------------------
DECLARE job NUMBER;

begin     

    sys.dbms_job.submit(job => job, --注意:此處沒有冒號了

what => 'check_equipment;',--存儲過程名

next_date => to_date('25-01-2017 01:00:00', 'dd-mm-yyyy hh24:mi:ss'),--下次執行時間

interval => 'TRUNC(sysdate) + 1 +1/ (24)');--執行的時間間隔

   commit;

end;

/

----------------------------------------------------------------------------- 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM