如何在SQL Server中实现database1.table1.column1到database2.table1.column1的值复制?
跨数据库复制列值的实现方案
在SQL Server中,要将database1.table1的column1值同步到database2.table1的同名列,核心是通过唯一匹配键(比如主键)关联两张表,执行精准更新操作:
基础更新语句
UPDATE d2 SET d2.column1 = d1.column1 FROM database2.dbo.table1 d2 INNER JOIN database1.dbo.table1 d1 ON d2.id = d1.id; -- 替换id为两张表实际的唯一匹配字段(如主键)
扩展场景处理
- 仅更新目标表中空值行:
UPDATE d2 SET d2.column1 = d1.column1 FROM database2.dbo.table1 d2 INNER JOIN database1.dbo.table1 d1 ON d2.id = d1.id WHERE d2.column1 IS NULL; - 执行前验证匹配结果(避免误操作):
SELECT d2.id, d2.column1 AS 目标表旧值, d1.column1 AS 源表新值 FROM database2.dbo.table1 d2 INNER JOIN database1.dbo.table1 d1 ON d2.id = d1.id; - 跨实例数据库同步:若两个数据库不在同一SQL Server实例,需先创建链接服务器,再通过
[链接服务器名].[database1].[dbo].[table1]格式访问源表
内容的提问来源于stack exchange,提问作者Amir Montajabiha
相关产品推荐
相关产品推荐

