Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia
administrada de Azure SQLBase de datos SQL en Microsoft Fabric
El modo de FOR XML puede ser RAW, AUTO, EXPLICIT o PATH. Determina la forma del XML resultante.
Importante
La directiva XMLDATA para la opción FOR XML está en desuso. Utilice la XSD generación en los modos RAW y AUTO. No hay sustitución para la directiva XMLDATA en modo EXPLICIT. Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.
Sintaxis
Aquí se muestra la sintaxis básica descrita en Cláusula 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') ] ]
Argumentos
RAW [('ElementName')]
Obtiene el resultado de la consulta y transforma cada fila del conjunto de resultados en un elemento XML con un identificador genérico, <row />, como etiqueta del elemento. Opcionalmente, puede especificar un nombre para el elemento de fila cuando se utiliza esta directiva. El XML resultante usará el especificado ElementName como elemento de fila generado para cada fila. Para obtener más información, vea Usar el modo RAW con FOR XML.
AUTO
Devuelve los resultados de la consulta en un árbol anidado XML sencillo. Cada tabla en la cláusula FROM de la que al menos se presenta una columna en la cláusula SELECT se representa como un elemento XML. A las columnas presentadas en la cláusula SELECT se les asignan los atributos de elemento apropiados. Para obtener más información, vea Usar el modo AUTO con FOR XML.
EXPLÍCITO
Especifica que la forma del árbol XML resultante está definida explícitamente. Con este modo, es necesario escribir las consultas de una cierta manera, de modo que se pueda especificar explícitamente información adicional acerca de la anidación deseada. Para obtener más información, vea Usar el modo EXPLICIT con FOR XML.
PATH
Proporciona una forma más sencilla de combinar elementos y atributos, y de introducir un nivel adicional de anidación para representar propiedades complejas. Puede utilizar consultas FOR XML de modo EXPLICIT para construir XML a partir de un conjunto de filas, pero el modo PATH supone una alternativa más simple a las consultas de modo EXPLICIT potencialmente complicadas. El modo PATH, junto con la capacidad de escribir consultas FOR XML anidadas y la TYPE directiva para devolver instancias de tipo xml , permite escribir consultas con menos complejidad. Ofrece una alternativa para escribir la mayoría de las consultas en modo EXPLICIT. De forma predeterminada, el modo PATH genera un elemento contenedor <row> para cada fila del conjunto de resultados. También se puede especificar un nombre de elemento. En este caso, el nombre especificado se utilizará como nombre del elemento contenedor. Si proporciona una cadena (FOR XML PATH ('')) vacía, no se genera ningún elemento contenedor. Para obtener más información, vea Usar el modo PATH con FOR XML.
MLDATA
Especifica que se debe devolver un esquema XDR (XML-Data Reduced) insertado. El esquema se antepone al documento como un esquema insertado. Para obtener un ejemplo práctico, vea Usar el modo RAW con FOR XML.
XMLSCHEMA
Devuelve un esquema XML del W3C (XSD) en línea. Opcionalmente, puede especificar un URI de espacio de nombres de destino al especificar esta directiva. De este modo, se devuelve el espacio de nombres especificado en el esquema. Para obtener más información, consulte Generar un esquema XSD en línea. Para obtener un ejemplo práctico, vea Usar el modo RAW con FOR XML.
ELEMENTOS
Si se especifica la opción ELEMENTS, las columnas se devuelven como subelementos. De lo contrario, se asignan a atributos XML. Esta opción solo se admite en los modos RAW, AUTO y PATH. Puede especificar opcionalmente XSINIL o ABSENT al usar esta directiva. XSINIL especifica que se puede crear un elemento con un atributo xsi:nil establecido en True para los valores de columna NULL. De forma predeterminada, o cuando se especifica ABSENT junto con ELEMENTS, no se crea ningún elemento para los valores NULL. Para obtener un ejemplo práctico, vea Usar el modo RAW con FOR XML y Usar el modo AUTO con FOR XML.
BINARY BASE64
Si se especifica la opción BINARY Base64, todos los datos binarios que devuelve la consulta se representan en formato codificado base64. Para recuperar datos binarios mediante el modo RAW y EXPLICIT, se debe especificar esta opción. En modo AUTO, de forma predeterminada, se devuelven datos binarios como una referencia. Para obtener un ejemplo práctico, vea Usar el modo RAW con FOR XML.
TYPE
Especifica que la consulta devuelve los resultados como el tipo xml . Para obtener más información, vea TYPE Directiva en consultas FOR XML.
ROOT [('RootName')]
Especifica que se agrega un único elemento de nivel superior al XML resultante. También se puede especificar el nombre del elemento raíz que se generará. El valor predeterminado es <root>.
Observaciones
Para la documentación de la cláusula SELECT... FOR XML que también se aplica a Azure SQL Database o a la base de datos SQL en Fabric, consulte FOR XML (SQL Server).