在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
什么是正确的方法?
答案 0 :(得分:1)
您应该在EXEC
之后将查询放入'use '+@NewDB
命令:
DECLARE @NewDB varchar(255)
SET @NewDB = 'choosenOne'
EXEC('use '+@NewDB + '
...............')