2013-01-10 26 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 
相關問題