XML データを SQL Server テーブルに変換する
XML を含むデータ管理シナリオの場合、分析と処理のために構造化テーブル形式に変換します。必要なこともあります。このタスクは、SQL Server の Transact-SQL (TSQL) を使用して効果的に実行できます。
XML からテーブルへの変換
XML データをテーブルに変換するプロセスには、次の 3 つのプロセスが含まれます。アプローチ:
例
次の 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>
FOR XML PATH メソッドを適用すると、次のコードはこの XML をテーブルに変換します:
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
TSQL を活用することで、XML データを効率的に構造化テーブルに変換し、データ分析、操作、レポート作成タスクを実行できるようになります。
以上がTransact-SQL を使用して XML データを SQL Server テーブルに効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。