Transformation de données XML en table SQL Server
Pour les scénarios de gestion de données impliquant XML, conversion en un format de table structuré pour l'analyse et le traitement peut être nécessaire. Cette tâche peut être accomplie efficacement à l'aide de Transact-SQL (TSQL) dans SQL Server.
Conversion XML en table
Le processus de conversion de données XML en table implique trois approches :
Exemple
Considérez le XML suivant data:
<row> <IdInvernadero>8</IdInvernadero> <IdProducto>3</IdProducto> <IdCaracteristica1>8</IdCaracteristica1> <IdCaracteristica2>8</IdCaracteristica2> <Cantidad>25</Cantidad> <Folio>4568457</Folio> </row> <row> <IdInvernadero>3</IdInvernadero> <IdProducto>3</IdProducto> <IdCaracteristica1>1</IdCaracteristica1> <IdCaracteristica2>2</IdCaracteristica2> <Cantidad>72</Cantidad> <Folio>4568457</Folio> </row>
En appliquant la méthode FOR XML PATH, le code suivant convertit ce XML en table :
DECLARE @xml XML = '<root> <row> <IdInvernadero>8</IdInvernadero> <IdProducto>3</IdProducto> <IdCaracteristica1>8</IdCaracteristica1> <IdCaracteristica2>8</IdCaracteristica2> <Cantidad>25</Cantidad> <Folio>4568457</Folio> </row> <row> <IdInvernadero>3</IdInvernadero> <IdProducto>3</IdProducto> <IdCaracteristica1>1</IdCaracteristica1> <IdCaracteristica2>2</IdCaracteristica2> <Cantidad>72</Cantidad> <Folio>4568457</Folio> </row> </root>'; SELECT IdInvernadero, IdProducto, IdCaracteristica1, IdCaracteristica2, Cantidad, Folio FROM @xml.nodes('//row') AS tbl(row) CROSS APPLY tbl.row.query('./@*') AS col(name, value);
La table résultante :
IdInvernadero IdProducto IdCaracteristica1 IdCaracteristica2 Cantidad Folio ---------- ---------- --------------- --------------- ------- ------ 8 3 8 8 25 4568457 3 3 1 2 72 4568457
En tirant parti de TSQL, vous pouvez transformer efficacement les données XML en tableaux structurés, permettant ainsi des tâches d'analyse, de manipulation et de reporting des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!