Partager via


Colonnes avec un nom spécifié en tant que caractère générique

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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 de type non-xml , le contenu de la colonne est inséré en tant que nœud de texte, comme le montre l’exemple suivant :

USE AdventureWorks2022;
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 type xml , 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;

Voici l'ensemble de résultats. 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