在SQL中设置变量等于数据库名称

时间:2016-07-04 10:28:15

标签: sql-server batch-file

我想通过.sql文件执行.bat文件(其中db = cmd中的输入名称)

.sql文件的顶部如下所示:

USE $(db)

DECLARE @Database varchar(500)
SET @Database = $(db)

但是在执行.bat文件后,.sql文件的第4行发生错误 显然,variable = $(db)不起作用。

还有另一种方法可以做这样的事吗?

1 个答案:

答案 0 :(得分:0)

使用SQLCMD变量,因此更改批处理文件以调用SQLCMD而不是ISQL

@echo off
sqlcmd -E -S myserver -i sample.sql -v db=YourDBName

sample.sql内容将是这样的

USE $(db)

DECLARE @Database varchar(500)
SET @Database = $(db)