搜索条件匹配oracle update / insert

时间:2018-04-17 18:29:47

标签: oracle notifications in-memory complex-event-processing

我有一个Oracle表,由服务器#1更新。 此外,还有另一台服务器#2具有一组搜索条件。

示例:

column1=100 and column2 > 5 and column3 < 5000 and column4 == 'hello'

服务器#2可以有数百个这样的标准。 当服务器#1 在oracle db表中插入/更新一行时,我需要以某种方式检查该行是否符合任何条件。 我如何实现这样的目标?

示例表1:

&#13;
&#13;
<html>
    <table border="1">
    <tr><th>Name</th><th>Age</th><th>salary</th><th>taxslab</th></tr>
    <tr><td>ABC</td><td>30</td><td>10000</td><td>10</td></tr>
    <tr><td>DEF</td><td>40</td><td>20000</td><td>20</td></tr>
    </table>
    </html>
&#13;
&#13;
&#13;

搜索条件#1为taxslab >= 30

每当我在表格中插入另一行(XYZ, 20, 50000, 40)时,需要发送通知,因为新行与存储的搜索条件匹配。

1 个答案:

答案 0 :(得分:0)

分别对每个条件使用动态SQL(execute immediate using out...)。假设您知道插入的内容,可以执行以下操作:

select 1
  from table 
 where <my_condtion_1>
   and my_primary_key=my_inserted_data 
   and rownum = 1

如果输出为1,则新的/更新的数据与条件1匹配。对表的所有行/条件执行此操作。

将所有内容打包在触发器中,如同提及的那样。