SQL查询将行值从一个SQL Server数据库导出到另一个SQL Server数据库

时间:2009-06-30 11:32:59

标签: sql sql-server

我在两个数据库中都有一个包含列'id','name','value','uniqueConst'的表。现在我只需要将所有'value'字段从一个数据库导出到另一个'db1.uniqueConst = db2.uniqueConst'。其他字段已经在db2中,并且两个db中的id都是标识,所以我不能只导出整个表。你能救我吗?

2 个答案:

答案 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