首頁 > 資料庫 > mysql教程 > 如何將 XML 資料轉換為 SQL Server 中的資料表?

如何將 XML 資料轉換為 SQL Server 中的資料表?

Barbara Streisand
發布: 2025-01-03 06:09:09
原創
784 人瀏覽過

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

在 SQL Server 中將 XML 轉換為表格

在 SQL Server 中,可以透過多種方法實作將 XML 資料轉換為表格格式。一種方法涉及使用節點方法從 XML 結構中提取所需的元素,然後選擇這些元素作為結果表中的列。

考慮以下 XML 資料:

<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>
登入後複製

至將此 XML轉換為表,請依照下列步驟操作:

  1. 建立一個表格來儲存data:
CREATE TABLE TableName (
    IdInvernadero smallint,
    IdProducto smallint,
    IdCaracteristica1 smallint,
    IdCaracteristica2 smallint,
    Cantidad int,
    Folio varchar(7)
);
登入後複製
  1. 將XML載入到變數中:
DECLARE @xml XML = '<root><row><IdInvernadero>...</row><row><IdInvernadero>...</row></root>';
登入後複製
  1. 使用節點提取元素方法:
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);
登入後複製

此查詢提取的元素插入到具有指定列名的表中。產生的表將具有以下結構:

IdInvernadero IdProducto IdCaracteristica1 IdCaracteristica2 Cantidad Folio
8 3 8 8 25 4568457
3 3 1 2 72 4568457

以上是如何將 XML 資料轉換為 SQL Server 中的資料表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板