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
De AUTO-modus bepaalt de vorm van geretourneerde XML op basis van de query. Bij het bepalen hoe elementen moeten worden genest, vergelijken heuristieken in de AUTO-modus kolomwaarden in aangrenzende rijen. Kolommen van alle typen, met uitzondering van ntekst, tekst, afbeelding en XML, worden vergeleken. Kolommen van het type (n)varchar(max) en varbinary(max) worden vergeleken.
In het volgende voorbeeld ziet u de heuristieken van de AUTO-modus die de vorm van de resulterende XML bepalen:
SELECT T1.Id, T2.Id, T1.Name
FROM T1, T2
WHERE Col1 = 1 /* actual predicate goes here*/
ORDER BY T1.Id
FOR XML AUTO;
Om te bepalen waar een nieuw <T1> element begint, worden alle kolomwaarden van T1, met uitzondering van ntekst, tekst, afbeelding en XML, vergeleken als de sleutel in de tabel T1 niet is opgegeven. Stel vervolgens dat de kolom Naamnvarchar(40) is en dat de SELECT-instructie deze rijenset retourneert:
T1.Id T1.Name T2.Id
-----------------------
1 Andrew 2
1 Andrew 3
1 Nancy 4
Met de heuristiek van de AUTO-modus worden alle waarden van tabel T1, de id en de naamkolommen vergeleken. De eerste twee rijen hebben dezelfde waarden voor de Id en Name kolommen. Als gevolg hiervan wordt één <T1> element, met twee <T2> onderliggende elementen, toegevoegd aan het resultaat.
Hier volgt de XML die wordt geretourneerd:
<T1 Id="1" Name="Andrew">
<T2 Id="2" />
<T2 Id="3" />
</T1>
<T1 Id="1" Name="Nancy" >
<T2 Id="4" />
</T>
Stel nu dat de Name kolom van het teksttype is. De heuristiek van de AUTO-modus vergelijkt de waarden voor dit type niet. In plaats daarvan wordt ervan uitgegaan dat de waarden niet hetzelfde zijn. Deze modus resulteert in XML-generatie, zoals wordt weergegeven in de volgende uitvoer:
<T1 Id="1" Name="Andrew" >
<T2 Id="2" />
</T1>
<T1 Id="1" Name="Andrew" >
<T2 Id="3" />
</T1>
<T1 Id="1" Name="Nancy" >
<T2 Id="4" />
</T1>