【发布时间】:2013-06-03 19:03:54
【问题描述】:
我想将 SELECT FOR XML EXPLICIT 语句的结果分配给 XML 变量,例如
CREATE PROCEDURE BILLING_RESPONSE
AS DECLARE @Data AS XML
SET @Data = (SELECT
1 AS Tag,
NULL AS Parent,
NULL AS 'CallTransactions!1!',
NULL AS 'TCALTRS!2!TRS_DAT_TE!cdata',
NULL AS 'TCALTRS!2!TRS_CRT_DT!Element'
UNION ALL
SELECT
2 AS Tag,
1 AS Parent,
NULL,
TRS_DAT_TE,
TRS_CRT_DT
FROM TCALTRS
WHERE TRS_CRT_DT between CONVERT(date,GETDATE()-1) and CONVERT(date,getdate()) and
TRS_DAT_TE like '%(Submit Response)%'
FOR XML EXPLICIT
)
SELECT @DATA
GO
当我执行此查询时,出现以下错误 消息 1086,级别 15,状态 1,程序 BILLING_RESPONSE,第 22 行 FOR XML 子句在视图、内联函数、派生表和包含集合运算符的子查询中无效。要解决此问题,请使用派生表语法包装包含集合运算符的 SELECT,并在其上应用 FOR XML。
【问题讨论】:
-
请不要对我们大喊大叫!
标签: sql-server xml for-xml-explicit