Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Als het pad opgegeven als kolomnaam data() is, wordt de waarde beschouwd als een atomaire waarde in de gegenereerde XML. Er wordt een spatieteken toegevoegd aan de XML als het volgende item in de serialisatie ook een atomische waarde is. Dit is handig wanneer u lijst-getypeerde element- en attribuutwaarden maakt. Met de volgende query wordt de productmodel-id, de naam en de lijst met producten in dat productmodel opgehaald.
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');
De geneste SELECT haalt een lijst met product-id's op. Hiermee geeft u 'data()' op als kolomnaam voor product-id's. Omdat de PATH-modus een lege tekenreeks voor de naam van het rijelement opgeeft, wordt er geen rijelement gegenereerd. In plaats daarvan worden de waarden geretourneerd als toegewezen aan een kenmerk ProductID's van het <ProductModelData> rijelement van de bovenliggende SELECT. Dit is het resultaat:
<ProductModelData
ProductModelID = "7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893"
/>