首頁 > 資料庫 > mysql教程 > 如何使用 Transact-SQL 有效地將 XML 資料轉換為 SQL Server 表?

如何使用 Transact-SQL 有效地將 XML 資料轉換為 SQL Server 表?

Linda Hamilton
發布: 2025-01-03 01:13:45
原創
121 人瀏覽過

How can I efficiently transform XML data into a SQL Server table using Transact-SQL?

將XML資料轉換為SQL Server表

針對涉及XML的資料管理場景,將其轉換為結構化表格格式進行分析處理可能是必要的。使用 SQL Server 中的 Transact-SQL (TSQL) 可以有效地完成此任務。

XML 到表格轉換

將XML 資料轉換為表格的過程涉及三個過程方法:

  1. FOR XML
  2. FOR XML
  3. FOR XML

FOR XML

FOR XML PATH

:此方法使用FOR XML PATH 子句提取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>
登入後複製

OPENXML
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);
登入後複製
:透過 OPENXML,您可以使用 OPENXML 函數迭代 XML 文件。此方法可以更好地控制生成的表的結構。

IdInvernadero  IdProducto  IdCaracteristica1  IdCaracteristica2  Cantidad  Folio
----------  ----------  ---------------  ---------------  -------  ------
8               3              8                    8                    25       4568457
3               3              1                    2                    72       4568457
登入後複製
XQuery

:利用 XQuery() 函數中的 XQuery 表達式,您可以直接在 SQL Server 中查詢並轉換 XML 資料。

範例考慮以下 XML data:套用 FOR XML PATH 方法,以下程式碼將此 XML轉換為表:產生的表:利用TSQL,您可以有效地將XML 資料轉換為結構化表,從而實現資料分析、操作和報告任務。

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

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