Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le mode FOR XML peut être RAW, AUTO, EXPLICIT ou PATH. Elle détermine la forme du code XML résultant.
Important
La directive XMLDATA de l’option FOR XML est déconseillée. Utilisez la génération XSD en mode RAW et AUTO. Il n’existe aucun remplacement pour la directive XMLDATA en mode EXPLICT. Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.
Voici la syntaxe de base décrite dans la clause FOR (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') ] ]
Les arguments
RAW[('ElementName')]
Prend le résultat de la requête et transforme chaque ligne du jeu de résultats en un élément XML qui a un identificateur générique, <une ligne />, comme balise d’élément. Vous pouvez éventuellement spécifier un nom pour l’élément de ligne lorsque vous utilisez cette directive. Le code XML obtenu utilise l’élément ElementName spécifié comme élément de ligne généré pour chaque ligne. Pour plus d’informations, consultez Utiliser le mode RAW avec FOR XML.
Automobile
Renvoie les résultats de la requête dans une arborescence XML simple et imbriquée. Chaque table de la clause FROM pour laquelle au moins une colonne est répertoriée dans la clause SELECT est représentée en tant qu’élément XML. Les colonnes répertoriées dans la clause SELECT sont mappées aux attributs d’élément appropriés. Pour plus d’informations, consultez Utiliser le mode AUTO avec FOR XML.
EXPLICITE
Spécifie que la forme de l'arborescence XML résultante est définie de manière explicite. En utilisant ce mode, les requêtes doivent être écrites de manière particulière afin que des informations supplémentaires sur l’imbrication souhaitée soient spécifiées explicitement. Pour plus d’informations, consultez Utiliser le mode EXPLICIT avec FOR XML.
CHEMIN
Fournit un moyen plus simple de combiner des éléments et des attributs et d’introduire un imbrication supplémentaire pour représenter des propriétés complexes. Vous pouvez utiliser des requêtes en mode FOR XML EXPLICIT pour construire ce type de code XML à partir d’un ensemble de lignes, mais le mode PATH offre une alternative plus simple aux requêtes éventuellement fastidieuses en mode EXPLICIT. Le mode PATH, ainsi que la possibilité d’écrire des requêtes FOR XML imbriquées et la directive TYPE pour retourner des instances de type xml , vous permet d’écrire des requêtes avec moins de complexité. Il offre une alternative à l’écriture de la plupart des requêtes en mode EXPLICIT. Par défaut, le mode PATH génère un wrapper d’élément <de ligne> pour chaque ligne du jeu de résultats. Vous pouvez éventuellement spécifier un nom d’élément. Si vous le faites, le nom spécifié est utilisé comme nom d’élément wrapper. Si vous fournissez une chaîne vide (FOR XML PATH (')), aucun élément wrapper n’est généré. Pour plus d’informations, consultez Utiliser le mode PATH avec FOR XML.
XMLDATA
Spécifie qu’un schéma inline XML-Data Réduit (XDR) doit être retourné. Le schéma est ajouté au début du document en tant que schéma intégré. Pour obtenir un exemple de travail, consultez Utiliser le mode RAW avec FOR XML.
XMLSCHEMA
Retourne un schéma XML W3C intégré (XSD). Vous pouvez éventuellement spécifier un URI d’espace de noms cible lors de la spécification de cette directive. Cette opération retourne l’espace de noms spécifié dans le schéma. Pour plus d’informations, consultez Générer un schéma XSD Inline. Pour obtenir un exemple de travail, consultez Utiliser le mode RAW avec FOR XML.
ÉLÉMENTS
Si l’option ELEMENTS est spécifiée, les colonnes sont retournées en tant que sous-éléments. Sinon, elles sont mappées avec des attributs XML. Cette option est prise en charge uniquement dans les modes RAW, AUTO et PATH. Vous pouvez éventuellement spécifier XSINIL ou ABSENT lorsque vous utilisez cette directive. XSINIL spécifie qu’un élément qui a un attribut xsi :nil défini sur True doit être créé pour les valeurs de colonne NULL. Par défaut ou quand ABSENT est spécifié avec ELEMENTS, aucun élément n’est créé pour les valeurs NULL. Pour obtenir un exemple de travail, consultez Utiliser le mode RAW avec FOR XML et utiliser le mode AUTO avec FOR XML.
BINARY BASE64
Si l’option BINARY Base64 est spécifiée, toutes les données binaires retournées par la requête sont représentées au format codé en base64. Pour récupérer des données binaires à l’aide du mode RAW et EXPLICIT, cette option doit être spécifiée. En mode AUTO, les données binaires sont retournées en tant que référence par défaut. Pour obtenir un exemple de travail, consultez Utiliser le mode RAW avec FOR XML.
TYPE
Spécifie que la requête retourne les résultats en tant que type xml . Pour plus d’informations, consultez Directive TYPE dans les requêtes FOR XML.
ROOT [('RootName')]
Spécifie qu’un seul élément de niveau supérieur doit être ajouté au code XML résultant. Vous pouvez, si vous le souhaitez, spécifier le nom d'élément racine à générer. La valeur par défaut est « root ».
Voir aussi
Utiliser le mode RAW avec FOR XML
Utiliser le mode AUTO avec FOR XML
Utiliser le mode EXPLICIT avec FOR XML
Utiliser le mode PATH avec FOR XML
SELECT (Transact-SQL)
FOR XML (SQL Server)