根据条件重新安排oracle DBMS_SCHEDULER作业

时间:2015-04-02 13:42:09

标签: oracle oracle11g dbms-scheduler

我有一个每日预定的工作,运行一个程序,每天在特定时间发送短信。但是不能保证短信的源表会在那个时候填充,我希望能够在没有填充源表的情况下将作业重新安排一个小时。 我该怎么做呢。

1 个答案:

答案 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是令人深思的。