Partager via


Colonnes avec un nom spécifié sous la forme d'un caractère générique

Si le nom de colonne spécifié est un caractère générique (*), le contenu de cette colonne est inséré comme s’il n’y a pas de nom de colonne spécifié. Si cette colonne est une colonne non dexml type, le contenu de la colonne est inséré en tant que nœud de texte, comme illustré dans l’exemple suivant :

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;  

Voici le résultat obtenu :

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

Si la colonne est de xml type, l’arborescence XML correspondante est insérée. Par exemple, la requête suivante spécifie « * » pour le nom de la colonne qui contient le document XML renvoyé par la requête XQuery portant sur la colonne 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  

Voici le résultat. le document XML renvoyé par la requête XQuery est inséré sans élément d'habillage.

<row>

<ProductModelID>7</ProductModelID>

<Name>HL Touring Frame</Name>

<MI:Location LocationID="10">...</MI:Location>

<MI:Location LocationID="20">...</MI:Location>

...

</row>

Voir aussi

Utiliser le mode PATH avec FOR XML