2011-03-28 51 views
0

有没有办法引用where子句而不是更新触发器?引用where子句而不是更新触发器

**更多信息**

我试图来解决这个问题: Modify update statement includes primary key in trigger

这个奇迹产品将尝试更新已更改或甚至可能不存在的行。由于我不需要/关心现有的数据,如果我可以修改where子句更通用的更新将运行,我可以继续前进。

+1

什么地方从句?插入的where子句选择? Perhpas你应该向我们展示你感兴趣的数据以及你想如何在触发器中操作它,以便我们更好地了解如何帮助你。 – HLGEM 2011-03-28 17:07:33

+0

@HLGEM - 与'Update T set col1 = xxx where col1 = yyy'一样。 – NitroxDM 2011-03-28 18:13:48

回答

0

那么删除的表格显示了您使用where子句选择的数据,所以如果您知道where子句在第1列,您知道您要求的值?但直接知道在哪里是从句,不。您在触发器中唯一可用的数据是更新统计信息之前和之后表中的数据。

也许如果你表达了你想要做的inteh触发它会更容易帮助你。

0

如果你使用这个特定模板更新数据,您已在留言中提到:

UPDATE T SET col1 = xxx WHERE col1 = yyy 

也就是说,如果根据其当前值更新一些列的话,我想,这将是正确的说,是的,你可以“访问WHERE子句”。

其实你将要访问的是所谓的“魔术表”,DELETEDINSERTED,它们分别在更新之前和之后保存值。更新前的值,特别是上面的UPDATE语句的WHERE子句引用的值。