Spaltennamen mit dem als "data() angegebenen Pfad"
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance
Wenn der als Spaltenname angegebene Pfad lautet data()
, wird der Wert als atomer Wert im generierten XML-Code behandelt. Dem XML-Code wird ein Leerzeichen hinzugefügt, wenn das nächste Element in der Serialisierung ebenfalls ein atomarer Wert ist. Dies ist nützlich, wenn Sie listentypierte Elemente und Attributwerte erstellen. Die folgende Abfrage ruft die Produktmodell-ID, den Namen des Produktmodells sowie die Liste der Produkte dieses Produktmodells ab.
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');
Das geschachtelte SELECT ruft eine Liste mit Produkt-IDs ab. Als Spaltenname für die Produkt-IDs wird dabei "data()" angegeben. Da der PATH-Modus eine leere Zeichenfolge für den Zeilenelementnamen angibt, wird kein Zeilenelement generiert. Stattdessen werden die Werte als die einem ProductIDs-Attribut zugewiesene Werte des <ProductModelData>
-Zeilenelements des übergeordneten SELECT zurückgegeben. Dies ist das Ergebnis:
<ProductModelData
ProductModelID = "7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893"
/>
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für