SQL server 2008 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]。 怎么可能呢?表中还有其他触发器吗?此外,

我有一个带有触发器“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]。
怎么可能呢?

表中还有其他触发器吗?此外,我们可能需要查看整个触发器。SQL Server 2008中有一个“已知功能”,即使值没有更改,也会触发UPDATE(),但该列包含在UPDATE语句中。但这里似乎不是这样,这似乎不太可能?
UPDATE
告诉您某个列可能要更新,但没有告诉您该列中任何特定行的值是否实际发生了更改。最好使用
deletfrom。。。从…
语法构造一个基于集合的删除,根据插入的
和删除的
中的所有行以及需要检测的实际更改应用任何必要的逻辑。该表上还有另一个触发器-“for delete”。