引用where子句而不是update trigger

时间:2011-03-28 16:35:52

标签: sql-server triggers

有没有办法引用where子句而不是update trigger?

**更多信息**

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

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

2 个答案:

答案 0 :(得分:0)

删除的表显示了您使用where子句选择的数据,因此如果您知道where子句位于第1列,您知道您要求的值吗?但是直接知道什么是where子句,没有。您在触发器中可用的唯一数据是更新声明之前和之后表中的数据。

也许如果你表达了你想要做的事情,那么你可以更容易地帮助你。

答案 1 :(得分:0)

如果您使用此特定模板更新数据,请在评论中提及:

UPDATE T SET col1 = xxx WHERE col1 = yyy

也就是说,如果你根据当前值更新某个列,那么,我认为,是的,你可以可以'访问WHERE子句。

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