Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Если путь, указанный в качестве имени data()столбца, то значение рассматривается как атомарное значение в созданном XML. Если следующий элемент последовательности также является элементарным значением, в XML-документ добавляется символ пробела. Это полезно при создании типизированного элемента списка и значений атрибутов. Следующий запрос извлекает код модели продукции, ее имя и список продуктов этой модели.
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 извлекает список кодов продуктов. Имя столбца для кодов продуктов в нем указано как «data()». Так как режим PATH задает пустую строку для имени элемента строки, не создается элемент строки. Вместо этого возвращаются значения, назначенные атрибуту ProductIDs элемента строки <ProductModelData> в родительской инструкции SELECT. Результат:
<ProductModelData
ProductModelID = "7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893"
/>