我有一个bat文件执行sqlcmd脚本保存在文件中,但是需要将各种服务器和数据库位置作为变量传递到sql查询中。
用于测试的简单版本的查询:
SELECT TOP 1 * FROM '$(server)'.'$(database)'.schema.table
不应该用值替换变量吗?我已经做了一个快速的SELECT' $(服务器)'验证它们是否被传入。但我无法使变量在FROM中工作,导致语法错误。它是否保留单引号,因此无法正确设置服务器/数据库?
答案 0 :(得分:0)
回答我自己的问题, 是的,删除单引号它完美地工作。结果我试图简单地选择值以证明它被传入的测试,也不是用于设置服务器/数据库的方法。
SELECT '$(server)' --testing that it passed in
SELECT TOP 1 * FROM $(server).$(database).schema.table --working version