Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Se o caminho especificado como nome de coluna for data(), o valor é tratado como um valor atómico no XML gerado. Um caractere de espaço é adicionado ao XML se o item seguinte na serialização for também um valor atômico. Isto é útil quando estás a criar valores de elementos e atributos de tipo lista. A consulta seguinte recupera o ID do modelo de produto, o nome e a lista de produtos nesse modelo de produto.
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');
O SELECT aninhado recupera uma lista de IDs de produto. Especifica "data()" como nome de coluna para IDs de produto. Como o modo PATH especifica uma string vazia para o nome do elemento da linha, não há nenhum elemento de linha gerado. Em vez disso, os valores são devolvidos como se estivessem atribuídos ao atributo ProductIDs do elemento de linha \<ProductModelData> do SELECT pai. Este é o resultado:
<ProductModelData
ProductModelID = "7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893"
/>