Как запланировать Oracle работу через 5 рабочих дней после 15 числа каждого месяца? - PullRequest
2 голосов
/ 27 января 2020

Я хочу запустить работу только один раз, через 5 рабочих дней после 15 числа месяца.

например, если 15-е число выпадает на среду, затем выполните задание после среды (пропустите четверг, пт, сб, вс, пн, вт.) - через 5 рабочих дней.

1 Ответ

2 голосов
/ 27 января 2020

Предположим, вы хотите запустить процедуру с именем 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;

, когда дни за рамками игнорируются, например, 31-й день месяца апрель.

...