Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Om sökvägen som anges som kolumnnamn är data()behandlas värdet som ett atomiskt värde i den genererade XML-koden. Ett blankstegstecken läggs till i XML-koden om nästa objekt i serialiseringen också är ett atomiskt värde. Det här är användbart när du skapar listtypade element- och attributvärden. Följande fråga hämtar produktmodell-ID, namn och lista över produkter i den produktmodellen.
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');
Den kapslade SELECT hämtar en lista över produkt-ID:t. Den anger "data()" som kolumnnamn för produkt-ID:t. Eftersom PATH-läget anger en tom sträng för radelementets namn genereras inget radelement. I stället returneras värdena som tilldelade till ett ProductIDs-attribut för <ProductModelData> radelementet i det överordnade SELECT. Det här är resultatet:
<ProductModelData
ProductModelID = "7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893"
/>