代码之家  ›  专栏  ›  技术社区  ›  Troy

运行在ManagementStudio中运行良好的脚本时出现SQLCMD语法错误

  •  3
  • Troy  · 技术社区  · 14 年前

    当我运行这个 select '$(''test'')' 在sqlmanagementstudio2008中,它返回 $('test')

    sqlcmd -S SERVER -E -d DATABASE -q "select $(''test'')" 在命令行上返回 Sqlcmd: Error: Syntax error at line 1 near command '''.

    2 回复  |  直到 14 年前
        1
  •  14
  •   Remus Rusanu    14 年前

    对, $(id) 在SQLCMD中有特殊的语义:它是一个变量替换。您可以运行以下命令:

    sqlcmd /E /S . /v variable=MyTable /Q "select * from $(variable)"
    

    这将从MyTable中选择。正如你所猜测的 /v 是定义变量的开关。另一方面,默认情况下,SSMS不解释变量替换的SQL。SSMS系统 可以

    有关模式的详细信息,请参阅 Using sqlcmd with Scripting Variables .

        2
  •  0
  •   KM.    14 年前

    您试图运行的命令:

    select $('test')
    

    select ('test')
    

    我不知道你到底想做什么,你有三个 " 双引号字符,可以尝试使用以下命令:

    select '$(test)'
    

    可能是:

    sqlcmd -S SERVER -E -d DATABASE -q "select ''$(test)''"