您好,我希望有人能帮助我,我正在尝试将 XML 元素导入到 XML 中的 SQL 表中 格式。
首先,我有一个名为 Chassis.xml 的 XML 文件,如下所示。
<Chassis>
<Chassis Id="1" Chassis="blah blah" Suitability="1" Structured="1" />
<Chassis Id="2" Chassis="blah blah" Suitability="1" Structured="1" />
<Chassis Id="3" Chassis="Blah Blah" Suitability="1" Structured="1" />
<Chassis Id="4" Chassis="Blah Blah" Suitability="1" Structured="1" />
</Chassis>
我正在尝试编写一个将元素导入表的 SQL 过程,这里是我想要的表布局。
test.hardwareComponents
Id TypeId XmlData
----------------------------------
1 0001 <Chassis Id="1" Chassis="blah blah" Suitability="1" Structured="1" />
2 0001 <Chassis Id="2" Chassis="blah blah" Suitability="1" Structured="1" />
TypeId 将是一个外键,稍后将在另一个表中定义该 Type 是什么,因此 TypeId 0001 是一个 Chassis ComponentType。
我尝试的每件事都不断失败,我已经花了好几个小时来做这件事,但我很困惑,有人能帮助我吗。
最佳答案
你试过类似的东西吗
DECLARE @xml XML
SET @xml =
'<Chassis>
<Chassis Id="1" Chassis="blah blah" Suitability="1" Structured="1" />
<Chassis Id="2" Chassis="blah blah" Suitability="1" Structured="1" />
<Chassis Id="3" Chassis="Blah Blah" Suitability="1" Structured="1" />
<Chassis Id="4" Chassis="Blah Blah" Suitability="1" Structured="1" />
</Chassis>'
SELECT T2.Loc.value('@Id', 'INT') ID,
T2.Loc.query('.')
FROM @xml.nodes('/Chassis/Chassis') as T2(Loc)
关于sql - 将 XML 导入并分解为 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3466826/