gpt4 book ai didi

sql - 在一个更新查询中更新 100k 条记录

转载 作者:行者123 更新时间:2023-12-01 08:26:15 25 4
gpt4 key购买 nike

是否有可能或完全推荐运行一个更新查询,一次更新近 10 万条记录?

如果是这样,我该怎么做?我试图将一个数组传递给我的存储过程,但它似乎不起作用,这是我的 SP:

CREATE PROCEDURE [dbo].[UpdateAllClients]
@ClientIDs varchar(max)
AS
BEGIN
DECLARE @vSQL varchar(max)
SET @vSQL = 'UPDATE Clients SET LastUpdate=GETDATE() WHERE ID IN (' + @ClientIDs + ')';
EXEC(@vSQL);
END

我不知道什么不起作用,但它只是没有更新相关查询。

任何人?

最佳答案

UPDATE正在阅读您的 @ClientIDs (作为逗号分隔值)作为一个整体。为了更多地说明它,您正在这样做。

承担 @ClientIDs = 1,2,3,4,5
您的 UPDATE命令正在像这样解释它

UPDATE Clients SET LastUpdate=GETDATE() WHERE ID IN ('1,2,3,4,5')';

并不是
UPDATE Clients SET LastUpdate=GETDATE() WHERE ID IN (1,2,3,4,5)';

对您的问题的一个建议是在您的 UPDATE 上使用子查询, 例子
UPDATE Clients 
SET LastUpdate = GETDATE()
WHERE ID IN
(
SELECT ID
FROM tableName
-- where condtion
)

希望这是有道理的。

hope this helps

关于sql - 在一个更新查询中更新 100k 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12313874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com