动态使用USE命令

时间:2013-05-29 11:03:39

标签: sql tsql

在TSQL中我经常使用use(请原谅我的文字游戏):

use choosenOne

choosenOne数据库设置为活动数据库。 现在假设:

DECLARE @NewDB varchar(255) 
SET @NewDB = 'choosenOne'

我希望dinamically撰写一个有效的使用命令,但我没有运气,因为这些代码不起作用:

use @NewDB          -- Incorrect syntax near '@NewDB'.
EXEC('use '+@NewDB) -- No runtime error but no change of db is performed

什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

您应该在EXEC之后将查询放入'use '+@NewDB命令:

DECLARE @NewDB varchar(255) 
SET @NewDB = 'choosenOne'
EXEC('use '+@NewDB + '
 ...............')