您希望有人可以帮助我,我正在尝试将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。
我尝试的每件事都在继续失败,我花了几个小时试图做到这一点,我很难过,任何人都可以帮助我。
答案 0 :(得分:3)
你有没有试过像
这样的东西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)