2016-09-27 56 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

相关问题