2013-01-10 28 views
3

我有一些表格(16桌)运输到另一个数据库,并有许多的,采用这些表的存储过程(200个表)。如何使用不同的数据库表中的SQL Server

运输存储过程到另一个数据库不是优选的。

对于我的情况:

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。所以我应该如何改变这个最小变化。

+0

您应该避免使用'sp_'作为在SQL Server存储过程的前缀。它保留给微软使用(它代表“系统过程”,而不是存储过程),并且访问速度比其他名称慢(因为'master'在当前数据库之前被搜索到)。通常,你不应该*需要*在SQL中使用前缀对象 - 只是查询或语句中对象的位置应该告诉你它是什么类型的对象(例外:表和视图 - 但它们应该*无论如何可互换) –

+0

不要忘记标记为接受,如果你有你想要的信息 –

+0

@PranayRana我知道如何标记。但我更喜欢在2天后标记问题答案,因为我需要查看每个候选答案。我已经投你的答案;) – ibrahimyilmaz

回答

6

你想用表从其他数据库比你可以在SQL Server做这样的。

工作,如果在antoher服务器比数据库,这个屁股SQL Server作为链接服务器在你的SQL Server

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

Schemcaname如果dabase是在同一台服务器

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

- 通过更换您schemca这是“DBO”默认情况下,在SQL Server

+0

亲切纠正我,如果它是schema.db或db.schema我试图与db.schema和它的工作对我来说... – NoNaMe

+1

@sfah - 它的错误及其db.schema –

1

我尝试这个查询,发现可以使用

SELECT * FROM DB_Name.Schema.Table_Name 

Ë-G

SELECT * FROM abcDB.dbo.address 
相关问题