question 다음에는 select 결과를 xml 변수에 넣어야합니다. "FOR XML 및 FOR JSON 절은 집합 연산자가 포함 된 뷰, 인라인 함수, 파생 테이블 및 하위 쿼리에서 유효하지 않습니다. 해결하려면 파생 테이블을 사용하여 집합 연산자가 포함 된 SELECT를 래핑하십시오. 또는 공통 테이블 식 또는 뷰를 만들고 FOR XML 또는 FOR JSON을 적용하십시오. ", 제발? 여기xml 변수에 CDATA가있는 SQL Server XML 출력
테스트 코드 :
declare @agent table
(
AgentID int,
Fname varchar(5),
SSN varchar(11)
)
insert into @agent
select 1, 'Vimal', '123-23-4521' union all
select 2, 'Jacob', '321-52-4562' union all
select 3, 'Tom', '252-52-4563'
SELECT
1 AS Tag,
NULL AS Parent,
NULL AS 'Agents!1!',
NULL AS 'Agent!2!AgentID',
NULL AS 'Agent!2!Fname!Element',
NULL AS 'Agent!2!SSN!cdata'
UNION ALL
SELECT
2 AS Tag,
1 AS Parent,
NULL,
AgentID,
Fname,
SSN
FROM @agent
FOR XML EXPLICIT
그리고 여기에 내가 뭘 원하는지의 예 :
Declare @xml xml
...
set @xml= (SELECT
1 AS Tag,
NULL AS Parent,
NULL AS 'Agents!1!',
NULL AS 'Agent!2!AgentID',
NULL AS 'Agent!2!Fname!Element',
NULL AS 'Agent!2!SSN!cdata'
UNION ALL
SELECT
2 AS Tag,
1 AS Parent,
NULL,
AgentID,
Fname,
SSN
FROM @agent
FOR XML EXPLICIT)