使用变量构造表路径

时间:2013-12-20 14:47:41

标签: sql sql-server-2008

我有一个在多个环境中运行的查询脚本工具,其中包含对运行脚本的数据库的许多脚本内引用。我不想在运行时手动编辑每个实例,而是想在脚本的顶部设置一个变量,这样就可以分配一次数据库值。

我会声明变量:

DECLARE @db VARCHAR(25) = 'some database name'

然后我想在表路径的引用中使用该变量,例如:

SELECT 1 FROM @db.sys.partitions

这样的事情可能吗?如果是这样,它怎么可能被构建?感谢。

1 个答案:

答案 0 :(得分:0)

以下动态SQL应该适合您:

declare @sql_command nvarchar(max)
declare @db varchar(25)
select @db = 'some database name'

select @sql_command = 'SELECT top 1 * FROM '+ @db + '.sys.partitions'
execute sp_executesql @sql_command