將XML資料轉換為SQL Server表
針對涉及XML的資料管理場景,將其轉換為結構化表格格式進行分析處理可能是必要的。使用 SQL Server 中的 Transact-SQL (TSQL) 可以有效地完成此任務。
XML 到表格轉換
將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>
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);
IdInvernadero IdProducto IdCaracteristica1 IdCaracteristica2 Cantidad Folio ---------- ---------- --------------- --------------- ------- ------ 8 3 8 8 25 4568457 3 3 1 2 72 4568457
:利用 XQuery() 函數中的 XQuery 表達式,您可以直接在 SQL Server 中查詢並轉換 XML 資料。
範例考慮以下 XML data:套用 FOR XML PATH 方法,以下程式碼將此 XML轉換為表:產生的表:利用TSQL,您可以有效地將XML 資料轉換為結構化表,從而實現資料分析、操作和報告任務。以上是如何使用 Transact-SQL 有效地將 XML 資料轉換為 SQL Server 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!