Переназначить задание оракула DBMS_SCHEDULER в зависимости от условия
У меня есть ежедневная запланированная работа, которая запускает процедуру, которая отправляет смс в определенное время ежедневно. Но нет никакой гарантии, что исходная таблица для смс будет заполнена к этому времени, я хочу иметь возможность перенести работу на другой час, если исходная таблица еще не заполнена. как мне об этом.
1 ответ
Просто запланируйте работу на каждый час и вставьте условие в процедуру, чтобы она ничего не делала, если нечего делать.
--in pseudo code
CREATE OR REPLACE
Your_procedure is
v_count NUMBER(9);
BEGIN
select count(*)
INTO v_count
FROM sms_table;
IF v_count > 0 THEN
--do something
ELSE
--log the count into a logging table
END IF;
END;
Для более изощренного подхода этот пост от Мартина Фаулера провоцирует мысли.