我有以下查询:
update Table1
set id=2
where nbr in (select nbr from Other.dbo.table)
“从 Other.dbo.table 中选择 nbr”有 500 条记录。然而,当我运行更新时,它说我正在更新 1,000 条记录。我检查了 table1,只有 500 行匹配过滤器。
select * from table1 where nbr in (select nbr from Other.dbo.table)
我尝试将查询更改为连接并使用临时表来存储过滤器列表,但我收到了相同的结果。
为什么只有 500 条匹配时我要更新 1000 条记录?
Table1 上有一个更新触发器。
table1 上的更新触发器导致 UI 返回双倍的记录量。正在更新 500 条记录。但是,每次更新都会将一条新记录插入到审计表中。UI 返回查询语句受影响的总行数,而不仅仅是更新本身!