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