Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Cette directive extrait des informations sur les employés et génère des données XML centrées sur l'élément, comme illustré par le code suivant :
<Employee EmpID=...>
<Name>
<FName>...</FName>
<LName>...</LName>
</Name>
</Employee>
La requête demeure la même, à l'exception du fait que vous ajoutez la directive ELEMENT dans les noms de colonnes. Par conséquent, au lieu d'attributs, les éléments enfants <FName> et <LName> sont ajoutés à l'élément <Name>. Étant donné que la colonne Employee!1!EmpID ne spécifie pas la directive ELEMENT, EmpID est ajouté en tant qu'attribut de l'élément <Employee>.
SELECT 1 as Tag,
NULL as Parent,
E.BusinessEntityID as [Employee!1!EmpID],
NULL as [Name!2!FName!ELEMENT],
NULL as [Name!2!LName!ELEMENT]
FROM HumanResources.Employee AS E
INNER JOIN Person.Person AS P
ON E.BusinessEntityID = P.BusinessEntityID
UNION ALL
SELECT 2 as Tag,
1 as Parent,
E.BusinessEntityID,
FirstName,
LastName
FROM HumanResources.Employee AS E
INNER JOIN Person.Person AS P
ON E.BusinessEntityID = P.BusinessEntityID
ORDER BY [Employee!1!EmpID],[Name!2!FName!ELEMENT]
FOR XML EXPLICIT;
Le résultat partiel est le suivant.
<Employee EmpID="1">
<Name>
<FName>Ken</FName>
<LName>Sánchez</LName>
</Name>
</Employee>
<Employee EmpID="2">
<Name>
<FName>Terri</FName>
<LName>Duffy</LName>
</Name>
</Employee>
...