如果同时使用美元和方括号符号,则会发生T-SQL错误

时间:2018-06-29 16:11:29

标签: sql-server sqlcmd

在sqlcmd实用程序中,使用这种构造“ $(”,我在执行T-SQL脚本时收到以下错误消息:

C:\Users\Admin>sqlcmd -S DESKTOP-5AA9JIA\SQLEXPRESS -q "select '$(' " -R
Sqlcmd: Error: Syntax error at line 1 near command '''.
1>

如果通过SSMS运行此脚本,那么一切都会顺利进行。

使用INSERT INTO语句或任何其他语句时,得到相同的错误。

关于如何解决它的任何建议?

1 个答案:

答案 0 :(得分:3)

启动-x时应使用sqlcmd来忽略scripting variables

  

-x

     

使sqlcmd忽略脚本变量。当   脚本包含许多INSERT语句,这些语句可能包含以下字符串:   与常规变量的格式相同,例如$(variable_name)。

sqlcmd Utility

当sqlcmd解析器看到$(时,它期望未提供脚本变量,因此会引发错误。

这是我的考试:

enter image description here