1、没有订单数据时中止任务:
SELECT 1 FROM dual WHERE EXISTS(SELECT 1 FROM order WHERE order_date = trunc(sysdate));
当天没有订单时总是返回空结果集(无记录),任务中止。
2、工作日早上9点到下午17点间每小时执行一次,12点和17点时始终发送,其它时间如果订单数超过100就发送:
(1)设置执行计划:
(2)设置先决条件:
SELECT 1 FROM dual WHERE (SELECT COUNT(1) FROM order WHERE order_date = trunc(sysdate)) >= 100 OR to_char(sysdate,'hh24') IN('12','17');
任务在周一到周五9点到17点每小时启动一次。“开始时间”很重要,以后每次执行都以这个时间为准来确定执行时间。