我在两个数据库中都有一个包含列'id','name','value','uniqueConst'的表。现在我只需要将所有'value'字段从一个数据库导出到另一个'db1.uniqueConst = db2.uniqueConst'。其他字段已经在db2中,并且两个db中的id都是标识,所以我不能只导出整个表。你能救我吗?
答案 0 :(得分:1)
您可以这样做:
USE d2
UPDATE tablename
SET value = d1table.value
FROM tablename d2table INNER JOIN db1.schemaname.tablename d1table
ON d2table.uniqueConst = d1table.uniqueConst
...只要您对数据库和表都有权限,并且只要uniqueConst字段是唯一的,顾名思义:)
编辑:我假设数据库在同一个实例上;如果不是,则需要添加链接服务器,并使用四部分表示法来包含实例名称。
答案 1 :(得分:1)
在MS SQL Server中,您可以设置linkedservers。从那里只是一个直接的更新
update
[databaseB].dbo.[tableb]
set
[databaseB].dbo.[tableb].value = [databaseA].dbo.[tablea].Value
From
[databaseA].dbo.[tablea]
WHERE
[databaseA].dbo.[tablea].uniqueConst = [databaseb].dbo.[tableb].uniqueConst