我有一个从SQL Server Management Studio启动的简单脚本,可以恢复(本地)备份。 数据库恢复后,我需要对其执行一些操作。
我找到的唯一方法是执行sql语句并添加数据库名称,如下所示:
EXEC('USE ' + @dbRestoredName + ' A T-SQL STATEMENT;')
EXEC('USE ' + @dbRestoredName + ' ANOTHER T-SQL STATEMENT;')
它显然有效,并且小语句没有问题,但我有一些复杂的语句很难转换为字符串,所以我想这样做:
EXEC ('USE ' + @dbRestoredName);
A T-SQL STATEMENT;
ANOTHER T-SQL STATEMENT;
但上述结果是USE无效,如果您熟悉SQL SERVER Management Studio,其余的语句将从已启动脚本的数据库中执行。
答案 0 :(得分:0)
如果您在SSMS中运行脚本,则可以使用SQLCMD模式(查询菜单)为数据库名称编写变量脚本。
:setvar database "dbRestoredName"
use $(database)
go
A T-SQL STATEMENT;
ANOTHER T-SQL STATEMENT;