在T-SQL中,您可以使用带有USE命令的变量

时间:2010-02-04 16:51:58

标签: tsql

我正在研究一个SQL脚本,我需要在多个停靠点中引用数据库名称。此脚本将用于针对不同的数据库运行,因此我希望将数据库名称存储在变量中,因此您只需在脚本中的一个位置更改名称。

我对此脚本的主要问题是使用USE命令。所以代码看起来像。

DECLARE @DBName varchar(50)
SET @DBName = '[master]'

USE @DBName

SQL不喜欢这个。有没有办法做到这一点。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

你可以做这样的事情

declare @dbname varchar(250)
declare @Sql varchar(250)

set @dbname='PMDB'

SELECT @Sql ='select * from ' + @dbname + '.dbo.Account'


EXEC(@Sql)

答案 1 :(得分:0)

我这样做的方式并不是很优雅,但它运作得很好

if @DBName = 'DB1'
    <query with DB1>
else
    <query with DB2>