Megosztás a következőn keresztül:


A FOR XML záradék alapszintaxisa

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

A FOR XML mód lehet "RAW", "AUTO", "EXPLICIT" vagy "PATH". Meghatározza az eredményként kapott XML alakját.

Fontos

A XMLDATA irányelv a FOR XML beállításban elavult. Használjon XSD-generációt a RAW és az AUTO mód esetén. Az XMLDATA-direktíva nem cserélődik ki EXPLICT módban. Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

Szemantika

Az alábbi alapszintaxis a FOR záradékban (Transact-SQL) található.

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

Felveszi a lekérdezés eredményét, és az eredményhalmaz minden sorát egy általános azonosítóval <row />rendelkező XML-elemgé alakítja át elemcímkeként. Ha ezt az irányelvet használja, megadhat egy nevet a sorelemnek. Az eredményként kapott XML a megadott ElementName értéket fogja használni az egyes sorokhoz létrehozott sorelemként. További információ: A RAW mód használata XML-fájllal.

AUTO

A lekérdezési eredményeket egy egyszerű, beágyazott XML-fában adja vissza. A FROM záradék minden táblája, amelynek legalább egy oszlopa szerepel a SELECT záradékban, XML-elemként jelenik meg. A SELECT záradékban felsorolt oszlopok a megfelelő elemattribútumokhoz vannak megfeleltetve. További információkért lásd: AUTO mód használata az XML-lel.

EGYÉRTELMŰ

Megadja, hogy az eredményül kapott XML-fa alakja explicit módon legyen definiálva. Ennek a módnak a használatával a lekérdezéseket meghatározott módon kell írni, hogy a kívánt beágyazással kapcsolatos további információk explicit módon legyenek megadva. További információ: EXPLICIT mód használata XML-hez.

ELÉRÉSI ÚTVONAL

Egyszerűbb módot kínál az elemek és attribútumok keverésére, valamint további beágyazás bevezetésére az összetett tulajdonságok ábrázolásához. Az XML EXPLICIT módú lekérdezésekkel ilyen típusú XML-lekérdezéseket hozhat létre egy sorkészletből, de a PATH mód egyszerűbb alternatívát kínál az esetleg nehézkes EXPLICIT módú lekérdezések helyett. A PATH mód, a beágyazott FOR XML lekérdezések írásának képességével és az XML típusú példányok visszaadására szolgáló TYPE direktívával együtt lehetővé teszi, hogy kevésbé összetett lekérdezéseket hozzon létre. Alternatívát kínál a legtöbb EXPLICIT módú lekérdezés írására. Alapértelmezés szerint a PATH mód létrehoz egy elemburkolót <row> az eredményhalmaz minden sorához. Igény szerint megadhat egy elemnevet. Ha így tesz, a rendszer a megadott nevet használja a burkolóelem neveként. Ha üres sztringet (FOR XML PATH (''))ad meg, a rendszer nem hoz létre burkolóelemet. További információ: FOR XML használata PATH móddal.

MLDATA

Meghatározza, hogy beágyazott XML-Data Reduced (XDR) sémát kell visszaadni. A séma beágyazott sémaként van előre felfűzve a dokumentumra. Működő minta esetén lásd a nyers mód használata a FOR XML-lel című részt.

XMLSCHEMA

Beágyazott W3C XML-sémát (XSD) ad vissza. Ennek az irányelvnek a megadásakor megadhat egy célnévtér URI-t. Ez a séma megadott névterét adja vissza. További információ: Beágyazott XSD-séma létrehozása. Működő minta esetén lásd a nyers mód használata a FOR XML-lel című részt.

ELEMEK

Ha az ELEMENTS beállítás meg van adva, a rendszer az oszlopokat alelemekként adja vissza. Ellenkező esetben XML-attribútumokra vannak leképezve. Ez a beállítás csak RAW, AUTO és PATH módban támogatott. Ezen irányelv használatakor opcionálisan megadhatja az XSINIL vagy ABSENT értéket. Az XSINIL azt adja meg, hogy a NULL oszlopértékekhez létrejön egy olyan elem, amelynek az xsi:nil attribútuma True értékre van állítva. Alapértelmezés szerint vagy ha a HIÁNYZÓ elem az ELEMekkel együtt van megadva, a NULL értékekhez nem jön létre elem. Működő minta esetén tekintse meg a RAW mód használata az XML-hez és AUTO mód használata az XML-hez című témakört.

BINÁRIS BASE64

Ha a BINARY Base64 beállítás van megadva, a lekérdezés által visszaadott bináris adatok base64 kódolású formátumban lesznek ábrázolva. Ha a bináris adatokat RAW és EXPLICIT módban szeretné lekérni, ezt a beállítást meg kell adni. Auto módban a bináris adatok alapértelmezés szerint hivatkozásként lesznek visszaadva. Működő minta esetén lásd a nyers mód használata a FOR XML-lel című részt.

TYPE

Meghatározza, hogy a lekérdezés az eredményeket az xml típusként adja vissza. További információkért lásd: TYPE utasítás FOR XML-lekérdezésekben.

ROOT [('RootName')]

Megadja, hogy a rendszer egyetlen legfelső szintű elemet adjon hozzá az eredményül kapott XML-fájlhoz. Igény szerint megadhatja a létrehozandó gyökérelem nevét. Az alapértelmezett érték a <root>.

Megjegyzések

Az Azure SQL Database vagy a Fabricben lévő SQL adatbázisok esetén is érvényes SELECT... FOR XML záradék dokumentációját lásd a FOR XML (SQL Server) résznél.