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 (*), el contenido de esa columna se inserta como si no hubiera ningún nombre de columna especificado. Si esta columna es una columna que no es del tipo xml, el contenido de la columna se inserta como un nodo de texto, como se muestra en el siguiente ejemplo:

USE AdventureWorks2012;  
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;  

El resultado es el siguiente:

<row EmpID="1">KenJS??nchez</row>

Si la columna es de xml tipo , se inserta el árbol XML correspondiente. Por ejemplo, la consulta siguiente especifica "*" para el nombre de columna que contiene el XML devuelto por XQuery en la columna Instrucciones.

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 inserta 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>

Véase también

Usar el modo PATH con FOR XML