如何在SQL Server中使用不同数据库的表

时间:2013-01-10 07:37:20

标签: sql sql-server-2008

我必须将一些表(16个表)传输到另一个数据库,并且有许多存储过程(200个表)使用这些表。

不希望将存储过程传输到另一个数据库。

对于我的情况:

dbA包含sp_xyz个存储过程,tableBtableC表。

sp_xyz的内容可以是:

 SELECT A.column1, B.column2 
 FROM
 tableB A 
 JOIN tableC B ON A.fk_b_id = B.id

我们希望将tableC传输到dbB。那么我应该如何以最小的改变来改变这个sp。

2 个答案:

答案 0 :(得分:6)

如果你想在另一个数据库中使用一个表,那么当数据库在同一台服务器上时你可以在sql server中这样做:

Select * from [DBName].[Schema].[Table]

如果数据库位于另一台服务器中,请同时指定链接服务器名称:

Select * from [DBServer].[DBName].[Schema].[Table]

架构名称 - 替换为sql server中默认为“dbo”的架构。

答案 1 :(得分:1)

我尝试了一个查询,发现你可以使用

SELECT * FROM DB_Name.Schema.Table_Name

E-克

SELECT * FROM abcDB.dbo.address