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
FOR XML-läget kan vara RAW, AUTO, EXPLICIT eller PATH. Den avgör formen på den resulterande XML-koden.
Viktigt!
XMLDATA-direktivet till FOR XML-alternativet är inaktuellt. Använd XSD-generering när det gäller RAW- och AUTO-lägen. Det finns ingen ersättning för XMLDATA-direktivet i EXPLICT-läge. Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.
Syntax
Följande är den grundläggande syntax som beskrivs i FOR-satsen (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')]
Tar frågeresultatet och transformerar varje rad i resultatuppsättningen till ett XML-element som har en allmän identifierare, <row />, som elementtagg. Du kan också ange ett namn för radelementet när du använder det här direktivet. Den resulterande XML-koden använder det angivna ElementName som radelementet som genereras för varje rad. Mer information finns i Använda RAW-läge med FOR XML.
AUTO
Returnerar frågeresultat i ett enkelt kapslat XML-träd. Varje tabell i FROM-satsen för vilken minst en kolumn visas i SELECT-satsen representeras som ett XML-element. Kolumnerna som anges i SELECT-satsen mappas till lämpliga elementattribut. Mer information finns i Använda autoläge med FOR XML.
uttrycklig
Anger att formen på det resulterande XML-trädet definieras explicit. Genom att använda det här läget måste sökfrågor skrivas på ett särskilt sätt, så att ytterligare information om den nästlade struktur du önskar anges uttryckligen. Mer information finns i Använda EXPLICIT läge med FOR XML.
Sökväg
Ger ett enklare sätt att blanda element och attribut och introducera ytterligare kapsling för att representera komplexa egenskaper. Du kan använda frågor i läget EXPLICIT för att konstruera den här typen av XML från en raduppsättning, men PATH-läget ger ett enklare alternativ till de möjligen besvärliga frågorna i läget EXPLICIT. PATH-läge, tillsammans med möjligheten att skriva kapslade FOR XML-frågor och TYPE-direktivet för att returnera xml-typinstanser, gör att du kan skriva frågor med mindre komplexitet. Det är ett alternativ till att skriva de flesta EXPLICIT-lägesfrågor. Som standard genererar PATH-läget ett elementhölje <row> för varje rad i resultatuppsättningen. Du kan också ange ett elementnamn. Om du gör det används det angivna namnet som omslutningselementets namn. Om du anger en tom sträng (FOR XML PATH (''))genereras inget omslutningselement. Mer information finns i Använda PATH-läge med FOR XML.
MLDATA
Specificerar att ett inline XML-Data Reduced (XDR)-schema ska returneras. Schemat läggs till i dokumentet som ett infogat schema. Ett arbetsexempel finns i Använda RAW-läge med FOR XML.
XMLSCHEMA
Returnerar ett infogat W3C XML-schema (XSD). Du kan också ange en målnamnområdes-URI när du anger det här direktivet. Detta returnerar det angivna namnområdet i schemat. Mer information finns i Generera ett infogat XSD-schema. Ett arbetsexempel finns i Använda RAW-läge med FOR XML.
ELEMENTEN
Om alternativet ELEMENT anges returneras kolumnerna som underelement. Annars mappas de till XML-attribut. Det här alternativet stöds endast i RAW-, AUTO- och PATH-lägen. Du kan också ange XSINIL eller ABSENT när du använder det här direktivet. XSINIL anger att ett element som har ett xsi:nil-attribut inställt på True skapas för NULL-kolumnvärden. Som standard eller när ABSENT anges tillsammans med ELEMENT skapas inga element för NULL-värden. Ett arbetsexempel finns i Använda RAW-läge med FOR XML och Använd autoläge med FOR XML.
BINÄR BASE64
Om alternativet BINARY Base64 anges representeras alla binära data som returneras av frågan i base64-kodat format. Om du vill hämta binära data med raw- och EXPLICIT-läge måste det här alternativet anges. I AUTO-läge returneras binära data som referens som standard. Ett arbetsexempel finns i Använda RAW-läge med FOR XML.
TYPE
Anger att frågan returnerar resultatet som xml-typ . Mer information finns i TYPE-direktiv i FOR XML-frågor.
ROOT [('RootName')]
Anger att ett enda element på den översta nivån läggs till i den resulterande XML-koden. Du kan också ange det rotelementnamn som ska genereras. Standardvärdet är <root>.
Anmärkningar
Dokumentation om SELECT... FOR XML satsen som även gäller för Azure SQL Database eller SQL Database i Fabric finns i FOR XML (SQL Server).