繁体   English   中英

DBMS_JOB.SUBMIT区间解释

[英]DBMS_JOB.SUBMIT interval interpretation

我想了解一个 dbms_job.submit 语句

  dbms_job.submit(jobno, 'xxxsome_pl_sql_statement',next_date,interval);

next_date 评估为 Last_Day(Sysdate) ----30-apr-22

间隔评估为 Last_Day(Add_Months(Sysdate,1)) ------31-may-22

今天的系统日期是 13-apr-22

1.如何理解31-may-22为区间? 我是否应该将间隔解释为 Last_Day(Sysdate) 和 Last_Day(Add_Months(Sysdate,1)) 之间的时间,大约一个月?

2.作业的下一次运行日期已经设置好了,为什么还要重新设置间隔?

NEXT_DATE是下一次执行作业的时间。 INTERVAL是varchar2格式的SQL计算后续执行的公式,不是日期本身,应该像PL/SQL语句一样用单引号括起来。

dbms_job.submit(jobno, 'some_pl_sql_statement',Last_Day(Sysdate),'Last_Day(Add_Months(Sysdate,1))');

LAST_DAYADD_MONTHS是 SQL 函数。

DBMS_JOB.SUBMIT( 
   job       OUT    BINARY_INTEGER,
   what      IN     VARCHAR2, 
   next_date IN     DATE DEFAULT SYSDATE, 
   interval  IN     VARCHAR2 DEFAULT 'NULL',
   no_parse  IN     BOOLEAN DEFAULT FALSE,
   instance  IN     BINARY_INTEGER DEFAULT ANY_INSTANCE,
   force     IN     BOOLEAN DEFAULT FALSE);

dbms_job.submit(
  what=>'some_plsql_statement;',
  next_date=>Last_Day(Sysdate), -- last day of this month
  interval=>'Last_Day(Add_Months(Sysdate,1))');  -- Last day of the next month after each execution

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM