경로가 data()로 지정된 열 이름
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
열 이름으로 지정된 경로가 data()
인 경우, 생성된 XML에서 해당 값은 원자 값으로 취급됩니다. 직렬화의 다음 항목도 원자성 값이면 공백 문자가 XML에 추가됩니다. 이는 목록 형식의 요소 및 특성 값을 생성할 때 유용합니다. 다음 쿼리는 제품 모델 ID, 이름 및 해당 제품 모델의 제품 목록을 검색합니다.
USE AdventureWorks2022;
GO
SELECT ProductModelID AS "@ProductModelID",
Name AS "@ProductModelName",
(SELECT ProductID AS "data()"
FROM Production.Product
WHERE Production.Product.ProductModelID =
Production.ProductModel.ProductModelID
FOR XML PATH ('')) AS "@ProductIDs"
FROM Production.ProductModel
WHERE ProductModelID = 7
FOR XML PATH('ProductModelData');
중첩된 SELECT는 제품 ID 목록을 검색합니다. 이 쿼리는 제품 ID의 열 이름으로 "data()"를 지정합니다. PATH 모드에서는 행 요소 이름에 빈 문자열을 지정하므로 행 요소가 생성되지 않습니다. 대신 상위 SELECT의 <ProductModelData>
행 요소의 ProductIDs 특성에 할당된 값이 반환됩니다. 다음은 결과입니다.
<ProductModelData
ProductModelID = "7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893"
/>