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 FOR XML-modus kan RAW, AUTO, EXPLICIET of PATH zijn. Hiermee wordt de vorm van de resulterende XML bepaald.
Belangrijk
De XMLDATA-instructie voor de optie FOR XML is afgeschaft. Gebruik XSD-generatie in het geval van RAW- en AUTO-modi. Er is geen vervanging voor de XMLDATA-instructie in de EXPLICT-modus. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Syntaxis
Hieronder vindt u de basissyntaxis die wordt beschreven in FOR-component (Transact-SQL).
[ FOR { BROWSE | <XML> } ]
<XML> ::=
XML
{
{ RAW [ ('ElementName') ] | AUTO }
[
<CommonDirectives>
[ , { XMLDATA | XMLSCHEMA [ ('TargetNameSpaceURI') ]} ]
[ , ELEMENTS [ XSINIL | ABSENT ]
]
| EXPLICIT
[
<CommonDirectives>
[ , XMLDATA ]
]
| PATH [ ('ElementName') ]
[
<CommonDirectives>
[ , ELEMENTS [ XSINIL | ABSENT ] ]
]
}
<CommonDirectives> ::=
[ , BINARY BASE64 ]
[ , TYPE ]
[ , ROOT [ ('RootName') ] ]
Arguments
RAW [('ElementName')]
Neemt het queryresultaat en transformeert elke rij in de resultatenset in een XML-element met een algemene id, <row />als elementtag. U kunt eventueel een naam opgeven voor het rijelement wanneer u deze instructie gebruikt. De resulterende XML gebruikt de opgegeven ElementName als het rijelement dat voor elke rij wordt gegenereerd. Zie Raw-modus gebruiken met FOR XML voor meer informatie.
AUTO
Retourneert queryresultaten in een eenvoudige, geneste XML-boomstructuur. Elke tabel in de FROM-component waarvoor ten minste één kolom wordt weergegeven in de SELECT-component, wordt weergegeven als een XML-element. De kolommen die in de SELECT-component worden vermeld, worden toegewezen aan de juiste elementkenmerken. Zie Automodus gebruiken met FOR XML voor meer informatie.
UITDRUKKELIJK
Hiermee geeft u op dat de vorm van de resulterende XML-structuur expliciet wordt gedefinieerd. Met deze modus moeten query's op een bepaalde manier worden geschreven, zodat aanvullende informatie over het gewenste nesten expliciet wordt opgegeven. Zie EXPLICIETe modus gebruiken met FOR XML voor meer informatie.
PAD
Biedt een eenvoudigere manier om elementen en kenmerken te combineren en extra nesting te introduceren voor het weergeven van complexe eigenschappen. U kunt FOR XML EXPLICIT-modusquery's gebruiken om dit soort XML te maken vanuit een rijenset, maar de PATH-modus biedt een eenvoudiger alternatief voor de mogelijk omslachtige EXPLICIETe modusquery's. Met de PATH-modus kunt u, samen met de mogelijkheid om geneste FOR XML-query's te schrijven en de TYPE-instructie voor het retourneren van xml-typeexemplaren, query's schrijven met minder complexiteit. Het biedt een alternatief voor het schrijven van de meeste EXPLICIETe modusquery's. De PATH-modus genereert standaard een <row> element wrapper voor elke rij in de resultatenset. U kunt desgewenst een elementnaam opgeven. Als u dit doet, wordt de opgegeven naam gebruikt als de naam van het wrapper-element. Als u een lege tekenreeks (FOR XML PATH (''))opgeeft, wordt er geen wrapper-element gegenereerd. Zie Path-modus gebruiken met FOR XML voor meer informatie.
MLDATA
Hiermee wordt aangegeven dat een inline XML-Data Reduced (XDR)-schema moet worden geretourneerd. Het schema wordt aan het begin van het document toegevoegd als een inline-schema. Zie Raw-modus gebruiken met FOR XML voor een werkend voorbeeld.
XMLSCHEMA
Hiermee wordt een inline W3C XML-schema (XSD) geretourneerd. U kunt desgewenst een doelnaamruimte-URI opgeven bij het opgeven van deze instructie. Hiermee wordt de opgegeven naamruimte in het schema geretourneerd. Zie Een inline XSD-schema genereren voor meer informatie. Zie Raw-modus gebruiken met FOR XML voor een werkend voorbeeld.
ELEMENTEN
Als de optie ELEMENTEN is opgegeven, worden de kolommen geretourneerd als subelementen. Anders worden ze gemapt naar XML-attributen. Deze optie wordt alleen ondersteund in de modi RAW, AUTO en PATH. U kunt eventueel XSINIL of AFWEZIG opgeven wanneer u deze directive gebruikt. XSINIL specificeert dat een element moet worden gemaakt met een xsi:nil-kenmerk ingesteld op True voor NULL-kolomwaarden. Standaard of wanneer ABSENT samen met ELEMENTS wordt opgegeven, worden er geen elementen gemaakt voor NULL-waarden. Zie Raw-modus gebruiken met FOR XML en automodus gebruiken met FOR XML voor een werkend voorbeeld.
BINAIR BASE64
Als de optie BINARY Base64 is opgegeven, worden binaire gegevens die door de query worden geretourneerd, weergegeven in de base64-gecodeerde indeling. Als u binaire gegevens wilt ophalen met de RAW- en EXPLICIETe modus, moet u deze optie opgeven. In de AUTO-modus worden binaire gegevens standaard geretourneerd als een verwijzing. Zie Raw-modus gebruiken met FOR XML voor een werkend voorbeeld.
TYPE
Hiermee geeft u op dat de query de resultaten retourneert als het XML-type . Zie TYPE-instructie in FOR XML-query's voor meer informatie.
ROOT [('RootName')]
Hiermee geeft u op dat één element op het hoogste niveau wordt toegevoegd aan de resulterende XML. U kunt desgewenst de naam van het hoofdelement opgeven dat moet worden gegenereerd. De standaardwaarde is <root>.
Opmerkingen
Zie voor documentatie van de SELECT... FOR XML clausule die ook van toepassing is op Azure SQL Database of SQL Database in Fabric, FOR XML (SQL Server).
Verwante inhoud
- RAW-modus gebruiken met FOR XML
- Automodus gebruiken met FOR XML
- EXPLICIETe modus gebruiken met FOR XML-
- PATH-modus gebruiken met FOR XML
- SELECT (Transact-SQL)
- FOR XML (SQL Server)