在 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轉換為表,請依照下列步驟操作:
CREATE TABLE TableName ( IdInvernadero smallint, IdProducto smallint, IdCaracteristica1 smallint, IdCaracteristica2 smallint, Cantidad int, Folio varchar(7) );
DECLARE @xml XML = '<root><row><IdInvernadero>...</row><row><IdInvernadero>...</row></root>';
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中文網其他相關文章!