SQL server 2008 update()函数工作不正常
我有一个带有触发器“for update”的[表]。 触发器中有一条语句:SQL server 2008 update()函数工作不正常,sql,sql-server,triggers,Sql,Sql Server,Triggers,我有一个带有触发器“for update”的[表]。 触发器中有一条语句: if update(field_3) begin delete from [other_table] where some conditions... end 当我试图执行 update [table] set field_1=1, field_2=2 where key_field=100 触发器中的“delete”语句起作用,但我不更新[field_3]。 怎么可能呢?表中还有其他触发器吗?此外,
if update(field_3)
begin
delete from [other_table] where some conditions...
end
当我试图执行
update [table] set field_1=1, field_2=2 where key_field=100
触发器中的“delete”语句起作用,但我不更新[field_3]。
怎么可能呢?表中还有其他触发器吗?此外,我们可能需要查看整个触发器。SQL Server 2008中有一个“已知功能”,即使值没有更改,也会触发UPDATE(),但该列包含在UPDATE语句中。但这里似乎不是这样,这似乎不太可能?
UPDATE
告诉您某个列可能要更新,但没有告诉您该列中任何特定行的值是否实际发生了更改。最好使用deletfrom。。。从…
语法构造一个基于集合的删除,根据插入的和删除的中的所有行以及需要检测的实际更改应用任何必要的逻辑。该表上还有另一个触发器-“for delete”。