我有一个每日预定的工作,运行一个程序,每天在特定时间发送短信。但是不能保证短信的源表会在那个时候填充,我希望能够在没有填充源表的情况下将作业重新安排一个小时。 我该怎么做呢。
答案 0 :(得分: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;
对于更复杂的方法,来自Martin Fowler的this post是令人深思的。