oracle - 如何安排每月 15 日后 5 个工作日的 Oracle 作业?

标签 oracle dbms-scheduler

我只想运行该作业一次,即每月 15 日后的 5 个工作日。

例如如果 15 日是周三,则在下周三运行作业(跳过周四、周五、周六、周日、周一、周二)- 5 个工作日后。

最佳答案

假设您要运行一个名为 prc_myaction 的过程,然后考虑使用

begin
dbms_scheduler.create_job (
   job_name           =>  'job_myaction',
   job_type           =>  'STORED_PROCEDURE',
   job_action         =>  'prc_myaction',
   start_date         =>  systimestamp at time zone 'Europe/Istanbul',
   repeat_interval    =>  'freq=monthly; byday=MON,TUE,WED,THU,FRI; bymonthday=15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31;',
   enabled            =>  true);
end;

忽略超出范围的日期,例如 4 月的 31 日。

关于oracle - 如何安排每月 15 日后 5 个工作日的 Oracle 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59935570/

相关文章:

oracle - 在Oracle 11g DBMS_SCHEDULER的repeat_interval中使用PL/SQL表达式

mysql - 仅允许通过特定应用程序连接 DBMS 用户

database - 如何在提交后回滚我的数据库更改?

database - 多少个数据库索引太多了?

oracle - 如何在 Oracle dbms_scheduler 中列出作业?

multithreading - 在 Oracle 过程中实现多线程

oracle12c - Oracle dbms_scheduler 与 BYTIME 错误

oracle - 为什么没有设置 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ?

sql - 如何在 Oracle 中将各种 VARCHAR 作为数字进行比较

linux - 使用 Oracle PL/SQL SP 在不同的 Linux 服务器上运行 Shell 脚本