Compartir a través de


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:

SELECT EmployeeID "@EmpID", 
       FirstName "*", 
       MiddleName "*", 
       LastName "*"
FROM   HumanResources.Employee E, Person.Contact C
WHERE  E.EmployeeID = C.ContactID
AND    E.EmployeeID=1
FOR XML PATH

El resultado es el siguiente:

<row EmpID="1">GustavoAchong</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>

Vea también

Conceptos