gpt4 book ai didi

sql - 合并以更新所有目标表列

转载 作者:行者123 更新时间:2023-12-02 08:35:57 28 4
gpt4 key购买 nike

我在2个数据库中有相同的表

-----------------------------------
| table |
-----------------------------------
| ID | col1 | col2 | ... | col(n) |

我需要merge语句来更新具有匹配ID的行,例如:
MERGE [DB1]..[table]
USING [DB2]..[table] ON [DB1]..[table].[ID] = [DB2]..[table].[ID]
WHEN MATCHED THEN
UPDATE SET [DB1]..[table].[*] = [DB1]..[table].[*]

问题是我有30多个列,因此很难逐列设置值。

最佳答案

无法使用通配符指定目标更新列和映射(即使所有列都相同)。您可以通过单击“对象资源管理器”中的Columns节点,并将其(以及因此的列名)拖到查询窗口中来开始所有键入操作:

enter image description here

enter image description here


因此,现在您无需进行太多键入操作,只需进行一系列操作以及复制和粘贴即可。
而且出于各种原因(包括仅涉及 MERGE时语法相当繁琐的事实),我也不会为此使用 UPDATE,正如我在上面的评论中提到的那样。 See this post for details
UPDATE trg
SET col1 = src.col1,
col2 = src.col2,
...
FROM DB1.dbo.table AS trg
INNER JOIN DB2.dbo.table AS src
ON trg.ID = src.ID;

关于sql - 合并以更新所有目标表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21510951/

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