[英]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_DAY
和ADD_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.