2013-01-10 65 views
0

我希望能夠根據本地查詢的結果執行遠程查詢。SQL:執行查詢到動態遠程服務器

例如:

DECLARE @REMOTESERVER VARCHAR(10) 

Select TOP 1 @REMOTESERVER = RemoteServer from TABLE 

--execute從什麼是您使用RDBMS我上面

Select * from tblCustomers 
+1

什麼RDBMS您使用的? – sgeddes

回答

1

檢索到的值的遠程服務器上的一個查詢?有些人不會支持這種做法的純sql方式。其他人,如SQL Server,可能會支持這種情況。遠程服務器是否可以通過您可以訪問的鏈接服務器訪問?然後你可以使用動態sql來創建你的sql字符串。這樣的事情應該在SQL Server中工作:

SET @Sql = 'SELECT * FROM [' + @RemoteServer + '].dbname.schema.tblCustomers' 
EXEC @Sql 

這是一個關於鏈接的服務器後:https://stackoverflow.com/a/4091984/1073631

+0

是的,這工作表示感謝!我唯一需要做的不同是將exec變量包裝爲: EXEC(@Sql) 謝謝! – paul