0
我已經編寫了一個將一些數據從一個數據庫遷移到另一個數據庫的T-SQL腳本。 目前我正在通過使用動態sql來做到這一點。TSQL:用於訪問數據庫的變量(SQL Server 2008)
例如看到下面的代碼:
Declare @sqlquery nvarchar(4000)
SET @sqlquery = N'SELECT * from ' + @LinkServerName + @SourceDatabaseName + '.dbo.Table'
EXEC @sqlquery
在這個例子中@LinkServerName
是一個nvarchar
變量,其存儲包含源數據庫的SQL Server的鏈接服務器的名稱。 @SourceDatabaseName
是一個nvarchar
變量,它存儲源數據庫的名稱。
我不喜歡那種方式。我更喜歡下面的代碼:
SELECT * from @SourceDatabase.dbo.Table
這可能嗎?
預先感謝您。
不,第二種方法**是無效的T-SQL **,因爲你不能在你的T-SQL語句中使用列或表名稱的變量。 – 2012-08-02 10:00:15
[如何在t-sql中爲數據庫名稱使用變量](http://stackoverflow.com/questions/727788/how-to-use-variable-for-database-name-in-t-sql) – Pondlife 2012-08-02 21:29:01