DatabaseChangeListener可以应用于特定的查询值吗?

时间:2014-10-07 21:27:45

标签: java sql

在我们的代码中使用某些查询

We're using DatabaseChangeListener,但是对于一个实例,我们希望能够在返回的查询值上触发侦听器。具体来说,我们有一个查询返回需要执行某个操作的秒数,所以我们希望在返回的秒数为0时触发一个侦听器。这可以用DatabaseChangeListener吗?

我尝试将查询直接插入stmt.executeQuery( QUERY_STRING );,但这只会导致ORA-29983: Unsupported query for Continuous Query Notification,这看起来很模糊。以下是查询是否有帮助。

select
  (case
    when ns.daycode is null
      then sysdate
    when greatest(jts.todate(n.transdate) + ns.delay, sysdate, trunc(sysdate)+ns.starttime) < trunc(sysdate)+ns.endtime
      then greatest(jts.todate(n.transdate) + ns.delay, sysdate, trunc(sysdate)+ns.starttime)
    else trunc(sysdate)+1
  end - sysdate) * 86400 as deliverytime
  from notices n
  left join noticeschedule ns
    on (n.noticetype = ns.noticetype and
        n.noticedeliverytype = ns.noticedeliverytype and
        n.instbit = ns.instbit and
        to_char(sysdate, 'D') = ns.daycode)
  where n.noticetype in ('RR', 'RC')
    and n.instbit = 965
    and n.processed = 'N';

0 个答案:

没有答案