Sql server 更快地更新多行SQL Server
我有表Sql server 更快地更新多行SQL Server,sql-server,Sql Server,我有表编号(Id int主键标识,Value int)。我想用一个空值和另一个不重叠的值更新2000列的Value 我使用while来更新 DECLARE @i_min INT SET @i_min = 1 DECLARE @max INT SELECT @max = COUNT(*) FROM Number WHERE ((Value IS NULL OR Value ='')) WHILE @i_min <= @max BEGIN UPDATE b SET
编号(Id int主键标识,Value int)
。我想用一个空值和另一个不重叠的值更新2000列的Value
我使用while来更新
DECLARE @i_min INT
SET @i_min = 1
DECLARE @max INT
SELECT @max = COUNT(*)
FROM Number
WHERE ((Value IS NULL OR Value =''))
WHILE @i_min <= @max
BEGIN
UPDATE b
SET b.Value = dbo.func_increase_number
FROM
(SELECT TOP 1 Value
FROM Number a
WHERE (a.Value IS NULL OR a.Value ='')) b
SET @i_min = @i_min + 1
声明@i_min INT
设置@i_min=1
声明@max INT
选择@max=COUNT(*)
从数字
其中((值为NULL或值=“”))
当@i_min时,您也可以更新列值,而无需使用WHILE循环
前
检查它并告诉我它是否工作这是一个完整的查询吗?我看不到循环开始时的结束
UPDATE Number
SET Value = dbo.func_increase_number
FROM
Number
WHERE Value IS NULL OR Value =''