Maison >base de données >tutoriel mysql >Comment convertir des données XML en table dans SQL Server ?
Dans SQL Server, la conversion de données XML au format tabulaire peut être réalisée par diverses méthodes. Une approche consiste à utiliser la méthode des nœuds pour extraire les éléments souhaités de la structure XML, puis à sélectionner ces éléments sous forme de colonnes dans le tableau résultant.
Considérez les données XML suivantes :
<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>
Pour convertissez ce XML en tableau, suivez ces étapes :
CREATE TABLE TableName ( IdInvernadero smallint, IdProducto smallint, IdCaracteristica1 smallint, IdCaracteristica2 smallint, Cantidad int, Folio varchar(7) );
DECLARE @xml XML = '<root><row><IdInvernadero>...</row><row><IdInvernadero>...</row></root>';
INSERT INTO TableName ( IdInvernadero, IdProducto, IdCaracteristica1, IdCaracteristica2, Cantidad, Folio ) SELECT Tbl.Col.value('IdInvernadero[1]', 'smallint'), Tbl.Col.value('IdProducto[1]', 'smallint'), Tbl.Col.value('IdCaracteristica1[1]', 'smallint'), Tbl.Col.value('IdCaracteristica2[1]', 'smallint'), Tbl.Col.value('Cantidad[1]', 'int'), Tbl.Col.value('Folio[1]', 'varchar(7)') FROM @xml.nodes('//row') Tbl(Col);
Cette requête insérera les éléments extraits dans la table avec les noms de colonnes spécifiés. Le tableau résultant aura la structure suivante :
IdInvernadero | IdProducto | IdCaracteristica1 | IdCaracteristica2 | Cantidad | Folio |
---|---|---|---|---|---|
8 | 3 | 8 | 8 | 25 | 4568457 |
3 | 3 | 1 | 2 | 72 | 4568457 |
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!