当我在SQL Server中执行此操作时
update table
set column = @value
where id in (1,2,2)
将执行多少次更新? 2或3,其中两行更新,其中id = 2?
答案 0 :(得分:2)
使用select测试代码。并且您将看到将更新多少行。
为计数
select count(*) from table
where id in (1,2,2)
查看正在更新的行
select * from table
where id in (1,2,2)
如果id是主要密钥(并且只有一个,2行)
答案 1 :(得分:1)
declare @table table (id int, num int)
insert into @table values (1,1),(2,1)
update @table
set num = num + 1
where id in (1,2,2)
select * from @table
结果是:
id num
1 2
2 2
因此,update将对set中的每个唯一值执行一次。