gpt4 book ai didi

sql - 一次运行 1000 个查询的大量更新查询的最佳方法

转载 作者:行者123 更新时间:2023-12-04 16:12:37 27 4
gpt4 key购买 nike

我有一个包含 50,000 个更新查询的 SQL Server 文件,如下所示:

UPDATE [dbo].[TABLE1] SET [COLUMN2] = 'abc123' WHERE [Id] = 100;
UPDATE [dbo].[TABLE1] SET [COLUMN2] = 'def456' WHERE [Id] = 101;
UPDATE [dbo].[TABLE1] SET [COLUMN2] = 'ghi789' WHERE [Id] = 205;
UPDATE [dbo].[TABLE1] SET [COLUMN2] = 'jkl012' WHERE [Id] = 216;
UPDATE [dbo].[TABLE1] SET [COLUMN2] = 'mno345' WHERE [Id] = 350;

我不想运行此文件并同时执行所有 50,000 个查询。通过一次执行 1000 个查询来执行此操作的最佳方法是什么,完成后继续执行下一个 1000 个查询,直到所有查询都执行完毕?另外,如果出现错误,我该如何回滚?

最佳答案

您应该使用这些值创建一个临时表。然后您可以将其用于更新。如果没有,您可以在查询中创建一个派生表:

with t as (
select v.*
from (values (100, 'abc123'),
(200, 'def456'),
. . .
) v(id, column2)
)
update t1
set column2 = t.column2
from dbo.table1 t1 join
t
on t1.id = t.id;

关于sql - 一次运行 1000 个查询的大量更新查询的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53217987/

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