Я не думаю, что это возможно:
Вот несколько примеров repeat_interval, демонстрирующих универсальность и гибкость синтаксиса календаря:
Запуск в 22:00 ежедневно с понедельника по пятницу:
FREQ=DAILY; BYDAY=MON,TUE,WED,THU,FRI; BYHOUR=22; BYMINUTE=0; BYSECOND=0;
Выполнять каждый час:
FREQ=HOURLY;INTERVAL=1;
Выполнять каждые 5 минут:
FREQ=MINUTELY;INTERVAL=5;
Выполнять каждую пятницу в 9:00 (все три примера эквивалентны):
FREQ=DAILY; BYDAY=FRI; BYHOUR=9; BYMINUTE=0; BYSECOND=0;
FREQ=WEEKLY; BYDAY=FRI; BYHOUR=9; BYMINUTE=0; BYSECOND=0;
FREQ=YEARLY; BYDAY=FRI; BYHOUR=9; BYMINUTE=0; BYSECOND=0;
Каждую вторую пятницу запускайте:
FREQ=WEEKLY; INTERVAL=2; BYDAY=FRI;
Выполнять ежегодно в понедельник 5, 10 и 15 недель:
FREQ=YEARLY; BYWEEKNO=5,10,15; BYDAY=MON
Выполняется в последний день каждого месяца.
FREQ=MONTHLY; BYMONTHDAY=-1;
Выполнять в предпоследний день каждого месяца:
FREQ=MONTHLY; BYMONTHDAY=-2;
Выполнить 10 марта (оба примера эквивалентны):
FREQ=YEARLY; BYMONTH=MAR; BYMONTHDAY=10;
FREQ=YEARLY; BYDATE=0310;
Выполнять каждые 10, 11, 12, 13 и 14 января (оба примера эквивалентны):
FREQ=YEARLY; BYDATE=0110,0111,0112,0113,0114
FREQ=YEARLY; BYDATE=0110+SPAN:5D;
Запускать каждые 10 дней:
FREQ=DAILY; INTERVAL=10;
Запускайте ежедневно в 16:15, 17:15 и 18:15:
FREQ=DAILY; BYHOUR=16,17,18; BYMINUTE=15; BYSECOND=0;
Выполнять 15-го числа каждого второго месяца:
FREQ=MONTHLY; INTERVAL=2; BYMONTHDAY=15;
Выполнять 29-го числа каждого месяца:
FREQ=MONTHLY; BYMONTHDAY=29;
Выполнять во вторую среду каждого месяца:
FREQ=MONTHLY; BYDAY=2WED;
Выполнить в последнюю пятницу года:
FREQ=YEARLY; BYDAY=-1FRI;
Запускать каждые 50 часов:
FREQ=HOURLY; INTERVAL=50;
Выполнять в последний день каждого второго месяца:
FREQ=MONTHLY; INTERVAL=2; BYMONTHDAY=-1;
Выполнять ежечасно в течение первых трех дней каждого месяца:
FREQ=HOURLY; BYMONTHDAY=1,2,3;
Выполнять в 60, 120 и 180 дни года:
FREQ=YEARLY; BYYEARDAY=60,120,180;
Выполнять в последний рабочий день каждого месяца (при условии, что рабочие дни с понедельника по пятницу):
FREQ=MONTHLY; BYDAY=MON,TUE,WED,THU,FRI; BYSETPOS=-1
Вот несколько более сложных примеров, которые ссылаются на следующие именованные расписания:
BEGIN
sys.DBMS_SCHEDULER.create_schedule (
schedule_name => 'COMPANY_HOLIDAYS',
repeat_interval => 'FREQ=YEARLY; BYDATE=0704,0905,1124,1125,1225;');
sys.DBMS_SCHEDULER.create_schedule (
schedule_name => 'JUL4',
repeat_interval => 'FREQ=YEARLY; BYMONTH=JUL; BYMONTHDAY=4;');
sys.DBMS_SCHEDULER.create_schedule (
schedule_name => 'MEM',
repeat_interval => 'FREQ=YEARLY; BYMONTH=MAY; BYMONTHDAY=30;');
sys.DBMS_SCHEDULER.create_schedule (
schedule_name => 'LAB',
repeat_interval => 'FREQ=YEARLY; BYMONTH=SEP; BYMONTHDAY=5;');
sys.DBMS_SCHEDULER.create_schedule (
schedule_name => 'LAST_SAT',
repeat_interval => 'FREQ=MONTHLY; BYDAY=SAT; BYSETPOS=-1;');
sys.DBMS_SCHEDULER.create_schedule (
schedule_name => 'END_QTR',
repeat_interval => 'FREQ=YEARLY; BYDATE=0331,0630,0930,1231;');
sys.DBMS_SCHEDULER.create_schedule (
schedule_name => 'FISCAL_YEAR',
repeat_interval => 'FREQ=YEARLY;BYDATE=0301,0601,0901,1201;PERIODS=4;');
END;
/
Выполняется в последний рабочий день каждого месяца, кроме корпоративных праздников: FREQ=MONTHLY; ДНЕМ=ПН,ВТ,СР,ЧТ,ПТ; EXCLUDE=COMPANY_HOLIDAYS; БАЙСЕТПОС=-1
Выполняется в полдень каждую пятницу и в праздничные дни компании: FREQ=YEARLY; ПО ДНЯМ = ПТ; ПО ЧАСАМ = 12; ВКЛЮЧИТЬ=COMPANY_HOLIDAYS
Бегайте в эти три праздника: 4 июля, День памяти и День труда: 4 июля, MEM, LAB.
Выполнять в последний день месяца, то есть в субботу или в последний день квартала:
FREQ=MONTHLY; BYMONTHDAY=-1; INTERSECT=LAST_SAT,END_QTR
Выполнять в последнюю среду каждого квартала финансового года:
FREQ=FISCAL_YEAR;BYDAY=-1WED
Запуск в последний рабочий день 2-го и 4-го кварталов финансового года (при условии, что рабочие дни с понедельника по пятницу):
FREQ=FISCAL_YEAR;BYDAY=MON,TUE,WED,THU,FRI;BYPERIOD=2,4;BYSETPOS=-1
person
Nunyet de Can Calçada
schedule
09.10.2017