FOR-Klausel (Transact-SQL)

Mit der FOR-Klausel wird entweder die BROWSE- oder die XML-Option angegeben. Die Optionen BROWSE und XML stehen nicht zueinander in Beziehung.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

[ 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

  • BROWSE
    Gibt an, dass Aktualisierungen zulässig sind, während Daten in einem DB-Library-Cursor im Durchsuchenmodus angezeigt werden. Eine Tabelle kann in einer Anwendung durchsucht werden, wenn die Tabelle eine timestamp-Spalte enthält, die Tabelle über einen eindeutigen Index verfügt und sich die FOR BROWSE-Option am Ende der an eine SQL Server-Instanz gesendeten SELECT-Anweisungen befindet.

    ms173812.note(de-de,SQL.90).gifHinweis:
    <lock_hint> HOLDLOCK kann nicht in einer SELECT-Anweisung mit der FOR BROWSE-Option verwendet werden.

    FOR BROWSE kann nicht in SELECT-Anweisungen verwendet werden, die durch den UNION-Operator miteinander verknüpft sind.

    ms173812.note(de-de,SQL.90).gifHinweis:
    Wenn die eindeutigen Indexschlüsselspalten einer Tabelle NULL-Werte zulassen und sich die Tabelle auf der Innenseite einer äußeren Verknüpfung befindet, wird der Durchsuchenmodus vom Index nicht unterstützt.
  • XML
    Gibt an, dass die Ergebnisse einer Abfrage als XLM-Dokument zurückgegeben werden. Einer der folgenden XML-Modi muss angegeben werden: RAW, AUTO oder EXPLICIT. Weitere Informationen zu XML-Daten und SQL Server finden Sie unter Erstellen von XML mithilfe von FOR XML.
  • 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. Die XML-Ausgabe verwendet den angegebenen ElementName als das für jede Zeile generierte Zeilenelement. Weitere Informationen finden Sie unter Verwenden des RAW-Modus und Verbesserungen des RAW-Modus.
  • 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 Verbesserungen des AUTO-Modus.
  • 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 Verbesserungen des EXPLICIT-Modus.
  • XMLDATA
    Gibt das XDR-Inlineschema zurück, fügt jedoch das Stammelement dem Ergebnis nicht hinzu. Wenn XMLDATA angegeben ist, wird das XDR-Schema an das Dokument angefügt.
  • XMLSCHEMA [ ('TargetNameSpaceURI') ]
    Gibt das XSD-Inlineschema zurück. Beim Angeben dieser Direktive können Sie optional einen Zielnamespace-URI angeben, der den angegebenen Namespace im Schema zurückgibt. Weitere Informationen finden Sie unter XSD-Inlineschemagenerierung.
  • ELEMENTS
    Gibt an, dass die Spalten als Unterelemente zurückgegeben werden. Andernfalls werden sie XML-Attributen zugeordnet. Diese Option wird nur in den Modi RAW, AUTO und PATH unterstützt. Weitere Informationen finden Sie unter Verbesserungen des RAW-Modus.
  • XSINIL
    Gibt an, dass ein Element, dessen xsi:nil-Attribut auf True festgelegt ist, für NULL-Spaltenwerte erstellt wird. Diese Option kann nur mit der ELEMENTS-Direktive angegeben werden. Weitere Informationen finden Sie unter Generieren von NULL-Werten mithilfe des XSINIL-Parameters.
  • ABSENT
    Gibt an, dass für NULL-Spaltenwerte keine entsprechenden XML-Elemente dem XML-Ergebnis hinzugefügt werden. Diese Option kann nur mit der ELEMENTS-Direktive angegeben werden.
  • PATH [ ('ElementName') ]
    Generiert einen <row>-Elementwrapper für jede Zeile im Resultset. Sie können optional einen Elementnamen für den <row>-Elementwrapper angeben. Bei einer leeren Zeichenfolge, wie z. B. FOR XML PATH ('') ), wird kein Wrapperelement generiert. Die Verwendung von PATH kann eine einfachere Alternative zu mithilfe der EXPLICIT-Direktive geschriebenen Abfragen darstellen. Weitere Informationen finden Sie unter Verwenden des PATH-Modus.
  • BINARY BASE64
    Gibt an, dass die Abfrage die Binärdaten im BINARY BASE64-Format codiert zurückgibt. Zum Abrufen von Binärdaten im RAW- oder EXPLICIT-Modus muss diese Option angegeben werden. Im AUTO-Modus ist sie die Standardeinstellung.
  • 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. Wird der optionale Stammelementname nicht angegeben, wird das <root>-Standardelement hinzugefügt.

Beispiele

Im folgenden Beispiel wird FOR XML AUTO mit den Optionen TYPE und XMLSCHEMA angegeben. Aufgrund der TYPE-Option wird das Resultset als xml-Typ an den Client zurückgegeben. Die XMLSCHEMA-Option gibt an, dass das XSD-Inlineschema in den zurückgegebenen XML-Daten enthalten ist, während die ELEMENTS-Option angibt, dass das XML-Ergebnis elementzentriert ist.

USE AdventureWorks;
GO
SELECT ContactID, FirstName, LastName, Phone
FROM Person.Contact
WHERE LastName LIKE 'G%'
ORDER BY LastName, FirstName 
FOR XML AUTO, TYPE, XMLSCHEMA, ELEMENTS XSINIL;

Siehe auch

Verweis

SELECT (Transact-SQL)

Andere Ressourcen

Verwenden von FOR XML und OPENXML zum Veröffentlichen und Verarbeiten von XML-Daten

Hilfe und Informationen

Informationsquellen für SQL Server 2005