":XML on" 不起作用并给出语法错误

":XML on" does not work and gives syntax error

简单地说,我的问题是当我尝试在我的第一个查询上应用“:XML on”时,出现语法错误,如下面的屏幕截图所示。我在 SQL Server 2012

上工作

The query and corresponding syntax error

整个查询是:

:XML ON
SET NOCOUNT ON
SELECT distinct 1 as Tag,
   NULL as Parent,  
   NULL AS [ExamTypes!1],
   NULL as [ExamType!2!ExamTypeID],  
   NULL       as [Template!3!ShortString],  
   NULL       as [Template!3!Order] 
  .
  .
  .
  (sum code)
FOR XML EXPLICIT

有什么帮助吗?

看来您可能 运行正在从 SSMS 查询。 :FOR XML 是一个 SQLCMD 命令,因此当查询是来自 SSMS 的 运行 时,您需要指定 SQLCMD 模式。这可以从查询菜单(查询-->SQLCMD 模式)完成。