Как я могу получить представление из заданий по расписанию? - PullRequest
0 голосов
/ 26 апреля 2018

Как я могу получить представление из следующего времени выполнения задания?

enter image description here

1 Ответ

0 голосов
/ 26 апреля 2018

Использовать DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING

Пример:

DECLARE
    next_run_date TIMESTAMP;
BEGIN
    FOR i IN 1..10 LOOP
        DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING('FREQ=HOURLY;BYHOUR=06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23;BYMINUTE=0;BYSECOND=0;BYDAY=Mon', NULL, next_run_date, next_run_date);
        DBMS_OUTPUT.PUT_LINE ( next_run_date );
    END LOOP;
END;


2018-04-30 06:00:00.000
2018-04-30 07:00:00.000
2018-04-30 08:00:00.000
2018-04-30 09:00:00.000
2018-04-30 10:00:00.000
2018-04-30 11:00:00.000
2018-04-30 12:00:00.000
2018-04-30 13:00:00.000
2018-04-30 14:00:00.000
2018-04-30 15:00:00.000

В случае, если вы запрашиваете DBMS_JOB , это сложнее, потому что в отличие от SCHEDULER JOBS "следующий раз" оценивается после текущего задания.

...