2016-09-27 57 views
-1

我已經使用此創建了一個Job。如果dbms_scheduler.create_job中沒有repeat_interval,該怎麼辦?

BEGIN 
    dbms_scheduler.create_job ( 
    job_name => 'test_JOB', 
    job_type => 'PLSQL_BLOCK', 
    JOB_ACTION => 'UP_TRYNR;', 
    start_date =>sysdate, 
    enabled => true, 
    repeat_interval => 'FREQ=DAILY;INTERVAL=1' 
    ); 
END; 

如果我創建不指定repeat_interval會發生什麼工作?即

BEGIN 
    dbms_scheduler.create_job ( 
    job_name => 'test_JOB', 
    job_type => 'PLSQL_BLOCK', 
    JOB_ACTION => 'UP_TRYNR;', 
    start_date =>sysdate, 
    enabled => true, 
    ); 
END; 

任何建議都會有幫助。謝謝。

+0

作業將只運行一次(提供'將來的start_date') –

+0

https://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_sched.htm#i1013037 – Rene

+0

[「如果沒有值對於指定repeat_interval,作業僅在指定的開始日期運行一次。「](https://docs.oracle.com/cd/E11882_01/server.112/e25494/scheduse.htm#ADMIN10040)。 –

回答

1

DBMS_SCHEDULER包中包含的功能可用於設置和管理需要根據重複或非重複計劃運行的任務的時間表和執行。 DBMS_SCHEDULER打破了計劃任務的過程分爲3個部分:

  1. 創建計劃
  2. 確定一個「程序」 - 其含義是,你的程序要 運行
  3. 創建「工作」 - 他們的意思是把一個節目連接到一個時間表。

顧名思義Repeat_interval,描述了程序需要執行的頻率。這有點像UNIX中的cron語法。

如果你沒有任何Repeat_interval創建它,它會在指定的startdate只有once執行,然後保持dormant

相關問題