dbms_job.submit间隔解释

发布于 2025-01-21 01:35:06 字数 423 浏览 3 评论 0原文

我想了解 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

sysdate for今天是 13-apr-22

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

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

I want to understand a dbms_job.submit statement

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

next_date evaluates to Last_Day(Sysdate) ----30-apr-22

interval evaluates to Last_Day(Add_Months(Sysdate,1)) ------31-may-22

sysdate for today is 13-apr-22

1.How to interpret 31-may-22 as the interval? Should I interpret the interval as the time between Last_Day(Sysdate) and Last_Day(Add_Months(Sysdate,1)),which is approximately one month?

2.The next date to run the job has already been set, why do we need to set the interval again?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

追我者格杀勿论 2025-01-28 01:35:06

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

NEXT_DATE is the next time the job should execute. INTERVAL is a SQL formula in varchar2 format to calculate subsequent executions, not a date itself, and should be enclosed in single quotes like the PL/SQL statement.

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

LAST_DAY and ADD_MONTHS are SQL functions.

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文