Maison > base de données > tutoriel mysql > Comment convertir des données XML en table dans SQL Server ?

Comment convertir des données XML en table dans SQL Server ?

Barbara Streisand
Libérer: 2025-01-03 06:09:09
original
815 Les gens l'ont consulté

How to Convert XML Data to a Table in SQL Server?

Convertir 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>
Copier après la connexion

Pour convertissez ce XML en tableau, suivez ces étapes :

  1. Créez un tableau pour stocker le data :
CREATE TABLE TableName (
    IdInvernadero smallint,
    IdProducto smallint,
    IdCaracteristica1 smallint,
    IdCaracteristica2 smallint,
    Cantidad int,
    Folio varchar(7)
);
Copier après la connexion
  1. Chargez le XML dans une variable :
DECLARE @xml XML = '<root><row><IdInvernadero>...</row><row><IdInvernadero>...</row></root>';
Copier après la connexion
  1. Extraire les éléments à l'aide des nœuds méthode :
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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal