Columnas con un nombre especificado como carácter comodín
Si el nombre de columna especificado es un carácter comodín (*), su contenido se insertará como si no se hubiera especificado ningún nombre. Si esta columna no es del tipo xml, su contenido se insertará como un nodo de texto, tal y como se muestra en el ejemplo siguiente:
USE AdventureWorks2008R2;
GO
SELECT E.BusinessEntityID "@EmpID",
FirstName "*",
MiddleName "*",
LastName "*"
FROM HumanResources.Employee AS E
INNER JOIN Person.Person AS P
ON E.BusinessEntityID = P.BusinessEntityID
WHERE E.BusinessEntityID=1
FOR XML PATH;
Este es el resultado:
<row EmpID="1">KenJSánchez</row>
Si la columna es del tipo xml, se insertará el árbol XML correspondiente. Por ejemplo, la consulta siguiente especifica "*" para el nombre de columna que incluye el XML devuelto por XQuery con la columna Instructions.
SELECT
ProductModelID,
Name,
Instructions.query('declare namespace MI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"
/MI:root/MI:Location
') as "*"
FROM Production.ProductModel
WHERE ProductModelID=7
FOR XML PATH;
GO
Éste es el resultado. El XML devuelto por XQuery se insertará sin un elemento de ajuste.
<row>
<ProductModelID>7</ProductModelID>
<Name>HL Touring Frame</Name>
<MI:Location LocationID="10">...</MI:Location>
<MI:Location LocationID="20">...</MI:Location>
...
</row>