同一个表上的多个SQL依赖项

时间:2014-02-26 10:19:31

标签: c# sql sql-server sqldependency

我需要在同一个表上有两个SQL依赖项,因为不同的原因我必须监视它们。

所以我写了以下两个查询 -

**SELECT [ID], [COLUMN1] FROM DBO.TABLENAME WHERE SOMECOLUMN = VAL1 ORDER BY ID**

**SELECT [ID], [COLUMN2] FROM DBO.TABLENAME WHERE SOMECOLUMN = VAL1 ORDER BY ID**

之前我们只使用了第一个查询,后来又添加了第二个查询。 它们都用于创建两个独立的依赖项。

但我观察的是,当我更新COLUMN2时,我希望只有在第二个查询中注册的回调才会被触发。

,而是BOTH回调(使用第一个查询和第二个查询注册的回调)

有人能帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

投影列与更新列之间的区别长期以来一直是查询通知的问题。不幸的是事情就是这样,所以你会得到误报(当​​没有任何改变时通知)。见Understanding When Query Notifications Occur

  

请注意,SQL Server可能会生成查询通知,以响应不更改数据的事件,或响应不会实际影响查询结果的更改。例如,当UPDATE语句更改查询返回的行之一时,即使对行的更新未更改查询结果中的列,也可能会触发通知。