SQLCMD - 使用变量' -v'设置动态服务器/数据库参数以供sql查询引用

时间:2016-03-09 18:35:39

标签: batch-file sqlcmd

我有一个bat文件执行sqlcmd脚本保存在文件中,但是需要将各种服务器和数据库位置作为变量传递到sql查询中。

用于测试的简单版本的查询:

SELECT TOP 1 * FROM '$(server)'.'$(database)'.schema.table

不应该用值替换变量吗?我已经做了一个快速的SELECT' $(服务器)'验证它们是否被传入。但我无法使变量在FROM中工作,导致语法错误。它是否保留单引号,因此无法正确设置服务器/数据库?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题, 是的,删除单引号它完美地工作。结果我试图简单地选择值以证明它被传入的测试,也不是用于设置服务器/数据库的方法。

SELECT '$(server)' --testing that it passed in
SELECT TOP 1 * FROM $(server).$(database).schema.table --working version