gpt4 book ai didi

sql-server - 使用 SQL UPDATE 语句将数据从一个表复制到另一个表

转载 作者:行者123 更新时间:2023-12-02 23:05:16 25 4
gpt4 key购买 nike

UPDATE table2 
SET table2.col1 = table1.col1,
table2.col2 = table1.col2,
table2.col3 = table2.col3,
...
FROM table1, table2
WHERE table1.memberid = table2.memberid

请帮助我了解当有 9-10 行且具有公共(public)列名称 SCRIPT_ID 时如何实现 SET 子句,以便将来可以再次使用脚本来更新同一个表。

以下是表格中的片段:

____     _____________   __________________  _____     _     _____
999 EMS02075SVC Host Controller 15099 3 60000
1000 EMS02075SVC DSM Controller 15099 1 60000
1001 EMS02075WEB1 Application Server 4447 1 60000

最佳答案

如果您的源表和目标表相同并且具有相同的memberid(我假设是主键),这将起作用:

UPDATE destination 

SET destination.col1 = source.col1,
destination.col2 = source.col2,
destination.col3 = source.col3,
...
FROM table1 AS source
JOIN table2 AS destination ON source.memberid = destination.memberid

如果源表和目标表相同,但源表具有目标表缺少的新行(记录),则需要选择性 INSERT 语句:

INSERT INTO table2 (
col1,
col2,
col3,
...
) SELECT col1, col2, col3, ...
FROM table1
WHERE NOT EXISTS (
SELECT memberid
FROM table2
WHERE table2.memberid = table1.memberid)

以上只会插入目标表中尚未存在的记录。由于您使用的是 SQL Server 2008,因此您可以尝试使用 MERGE 语句,该语句应该可以处理这两种情况以及您在一组代码中编写的任何其他内容。

关于sql-server - 使用 SQL UPDATE 语句将数据从一个表复制到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13545878/

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