Share via


Basissyntax der FOR XML-Klausel

Der FOR XML-Modus kann RAW, AUTO, EXPLICIT oder PATH lauten. Er bestimmt die Form des sich ergebenden XMLs. Im Folgenden wird die Basissyntax der FOR-Klausel (Transact-SQL) aufgeführt:

[ 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') ] ]

Argumente

  • RAW[('ElementName')]
    Verwendet das Abfrageergebnis und transformiert jede Zeile des Resultsets in ein XML-Element mit dem generischen Bezeichner <row /> als Elementtag. Sie können optional einen Namen für das Zeilenelement angeben, wenn Sie diese Direktive verwenden. Das sich ergebende XML verwendet den angegebenen ElementName als das für jede Zeile generierte Zeilenelement. Weitere Informationen finden Sie unter Verwenden des RAW-Modus und Neue FOR XML-Features.
  • AUTO
    Gibt Abfrageergebnisse in einer einfachen, geschachtelten XML-Struktur zurück. Jede Tabelle in der FROM-Klausel, aus der mindestens eine Spalte in der SELECT-Klausel aufgeführt ist, wird als ein XML-Element dargestellt. Die in der SELECT-Klausel aufgelisteten Spalten werden den entsprechenden Elementattributen zugeordnet. Weitere Informationen finden Sie unter Verwenden des AUTO-Modus und Neue FOR XML-Features.
  • EXPLICIT
    Gibt an, dass die Form der sich ergebenden XML-Struktur explizit definiert wird. In diesem Modus müssen die Abfragen jedoch auf eine bestimmte Weise geschrieben werden, sodass zusätzliche Informationen über die gewünschte Schachtelung explizit angegeben werden. Weitere Informationen finden Sie unter Verwenden des EXPLICIT-Modus und Neue FOR XML-Features.
  • PATH
    Stellt ein einfacheres Verfahren zum Mischen von Elementen und Attributen bereit und führt zusätzliche Schachtelung für die Darstellung komplexer Eigenschaften ein. Sie können Abfragen im FOR XML EXPLICIT-Modus zum Erstellen dieser Art von XML aus einem Rowset verwenden, der PATH-Modus stellt jedoch eine einfachere Alternative zu den möglicherweise aufwendigen Abfragen im EXPLICIT-Modus bereit. Der PATH-Modus ermöglicht in Kombination mit der Möglichkeit, verschachtelte FOR XML-Abfragen zu schreiben und die TYPE-Direktive zum Zurückgeben von Instanzen des Typs xml zu verwenden, das Schreiben von Abfragen mit geringerer Komplexität. Er bietet eine Alternative zum Schreiben der meisten Abfragen im EXPLICIT-Modus. Standardmäßig generiert der PATH-Modus einen <row>-Elementwrapper für jede Zeile im Resultset. Optional können Sie einen Elementnamen angeben. Wenn Sie einen Elementnamen angeben, wird der angegebene Name als Wrapperelementname verwendet. Bei einer leeren Zeichenfolge (FOR XML PATH ('')) wird kein Wrapperelement generiert. Weitere Informationen finden Sie unter Verwenden des PATH-Modus.
  • XMLDATA
    Gibt an, dass ein XML XDR-Inlineschema zurückgegeben werden soll. Das Schema wird dem Dokument als Inlineschema vorangestellt. Eine funktionstüchtige Vorlage hierzu finden Sie unter Verwenden des RAW-Modus.
  • XMLSCHEMA
    Gibt ein W3C XML-Inlineschema (XSD) zurück. Optional können Sie einen Zielnamespace-URI angeben, wenn Sie diese Direktive angeben. Auf diese Weise wird der angegebene Namespace im Schema zurückgegeben. Weitere Informationen finden Sie unter XSD-Inlineschemagenerierung. Eine funktionstüchtige Vorlage hierzu finden Sie unter Verwenden des RAW-Modus.
  • ELEMENTS
    Wenn die Option ELEMENTS angegeben ist, werden die Spalten als Teilelemente zurückgegeben. Anderenfalls werden sie XML-Attributen zugeordnet. Diese Option wird nur in den Modi RAW, AUTO und PATH unterstützt. Optional können Sie XSINIL oder ABSENT angeben, wenn Sie diese Direktive angeben. XSINIL gibt an, dass ein Element, dessen xsi:nil-Attribut auf True festgelegt ist, für NULL-Spaltenwerte erstellt wird. Standardmäßig werden keine Elemente für NULL-Werte erstellt. Dies gilt auch, wenn ABSENT zusammen mit ELEMENTS angegeben wird. Eine funktionstüchtige Vorlage hierzu finden Sie unter Verwenden des RAW-Modus und Verwenden des AUTO-Modus.
  • BINARY BASE64
    Wenn die Option BINARY Base64 angegeben ist, werden alle von der Abfrage zurückgegebenen Binärdaten im Base64-codierten Format dargestellt. Zum Abrufen von Binärdaten mithilfe des Modus RAW oder EXPLICIT muss diese Option angegeben werden. Standardmäßig werden Binärdaten im AUTO-Modus als Verweis zurückgegeben. Eine funktionstüchtige Vorlage hierzu finden Sie unter Verwenden des RAW-Modus.
  • ROOT [('RootName')]
    Gibt an, dass ein einzelnes Element der obersten Ebene dem als Ergebnis zurückgegebenen XML-Dokument hinzugefügt wird. Optional können Sie den zu generierenden Stammelementnamen angeben. Der Standardwert lautet "root".

Siehe auch

Verweis

Verwenden des RAW-Modus
Verwenden des AUTO-Modus
Verwenden des EXPLICIT-Modus
Erstellen von XML mithilfe von FOR XML

Konzepte

Verwenden des PATH-Modus

Andere Ressourcen

SELECT (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005