gpt4 book ai didi

sql - 如何将 XML 插入 SQL

转载 作者:数据小太阳 更新时间:2023-10-29 02:56:36 25 4
gpt4 key购买 nike

我尝试将 XML 文件添加到 SQL 2008。

我的 XML:

<ItemList>
<Section Index="0" Name="cat0">
<Item Index="0" Slot="0" />
<Item Index="1" Slot="0" />
</Section>
<Section Index="1" Name="cat1">
<Item Index="33" Slot="0" />
<Item Index="54" Slot="0" />
</Section>
<Section Index="2" Name="cat2">
<Item Index="55" Slot="0" />
<Item Index="78" Slot="0" />
</Section>
</ItemList>

SQL 列:

Name = Section Name,
Cat = Section Index,
Index = Item Index,
Slot = Item Slot.

我的例子:

DECLARE @input XML = 'MY XML file'

SELECT
Name = XCol.value('@Index','varchar(25)'),
Cat = XCol.value('@Name','varchar(25)'),
[Index] = 'Unknown', /* Index from <Item>*/
Slot = 'Unknown' /* Slot from <Item> */
FROM @input.nodes('/ItemList/Section') AS test(XCol)

我不知道如何从“项目”添加值。

非常感谢!

最佳答案

你可以这样做:

select
Name = XCol.value('../@Index','varchar(25)'),
Cat = XCol.value('../@Name','varchar(25)'),
[Index] = XCol.value('@Index','varchar(25)'),
Slot = XCol.value('@Slot','varchar(25)')
from
@input.nodes('/ItemList/Section/Item') AS test(XCol)

关键思想:将数据更深一层,不是/ItemList/Section,而是/ItemList/Section/Item。因此,在这种情况下,您可以访问 Item 的属性,也可以通过指定 ../@ 访问父元素(在您的情况下为 Section)的属性属性名称

关于sql - 如何将 XML 插入 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29894979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com