Переназначить задание оракула 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;

Для более изощренного подхода этот пост от Мартина Фаулера провоцирует мысли.

Другие вопросы по тегам