gpt4 book ai didi

sql - 如何在 SQL Server 中进行批量更新

转载 作者:行者123 更新时间:2023-12-04 22:17:41 26 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

7年前关闭。




Improve this question




我有一个包含一组数据的表。表格数据如下。

ID | Name | Age
----------------
1 | A | 24
2 | B | 25
3 | C | 30
4 | D | 46
5 | E | 35
6 | F | 26
7 | G | 30

现在,我想要更新某些 ID 的年龄列,以便最终结果如下所示。
ID | Name | Age
----------------
1 | A | 24
2 | B | 22
3 | C | 35
4 | D | 50
5 | E | 27
6 | F | 26
7 | G | 30

我更新了 ID = 2、3、4、5 的行

如何通过单个 T-SQL 查询实现此结果?这只是一个示例表。在实际情况下,它是一个包含超过 1500 条数据的表,因此单独更新行会消耗大量时间。

我找到了解决方案,但我无法将其添加为答案。所以我决定编辑我自己的问题并给出答案。请引用以下网址了解更多信息:

www.stackoverflow.com/questions/16932526/…
           UPDATE e 
SET age = t.age
FROM table e
JOIN ( VALUES
(1, 26),
(2, 30),
(3, 35) )
t (id, age) ON t.id = e.id

最佳答案

BEGIN TRAN
UPDATE mytable SET age=99 WHERE id=2
UPDATE mytable SET age=99 WHERE id=3
UPDATE mytable SET age=99 WHERE id=4
UPDATE mytable SET age=99 WHERE id=5
COMMIT TRAN

看起来“愚蠢”,但它是单个查询。

关于sql - 如何在 SQL Server 中进行批量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27290330/

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