首页 > 解决方案 > 如何从 Job Scheduled 运行时间获取视图?

问题描述

如何从作业的下一次运行时间中获取视图?

在此处输入图像描述

标签: oracleviewjobs

解决方案


使用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“下一次”不同的是,在当前工作完成后评估。


推荐阅读