2009-06-30 102 views
2

我在两个数据库中都有一个包含'id','name','value','uniqueConst'列的表。现在我需要将所有'值'字段从一个数据库导出到另一个'where db1.uniqueConst = db2.uniqueConst'。其他字段已经在db2中,并且'两个数据库中的id都是identity,所以我不能导出整个表。你可以帮我吗?SQL查询将行值从一个SQL Server数据库导出到另一个

回答

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 
+0

我之后觉得从应[databaseA] .dbo。[表A]不是[databaseA] .dbo。[表A] .value的 但你的解决方案的工作,以便感谢。 – Tamm 2009-06-30 15:23:11

1

你可以做这样的事情:

USE d2 
UPDATE tablename 
SET value = d1table.value 
FROM tablename d2table INNER JOIN db1.schemaname.tablename d1table 
ON d2table.uniqueConst = d1table.uniqueConst 

...只要你对数据库和表权限,只要uniqueConst领域是独一无二的,因为它的名字一样:)

编辑:我假设数据库是在同一个实例;如果不是,则需要添加链接服务器,并使用四部分表示法来包含实例名称。

相关问题