我有一些具有以下格式的 XML:
<Data>
<Surveys>
<Survey id="1">
<Answers>
<Answer aid="1">
<Answer aid="2">
</Answers>
</Survey>
<Survey id="2">
<Answers>
<Answer aid="1">
<Answer aid="2">
<Answer aid="3">
<Answer aid="4">
</Answers>
</Survey>
</Surveys>
</Data>
我正在插入一个表格进行这样的调查(我已经做得很简单,所以没有太多的事情要处理)
insert into survey
select T.o.value('@id', 'int'),
from @xml.nodes('/Data/Surveys/Survey')as T(o)
这是有效的......但我想将调查的相关答案在同一点放入不同的相关表中。我无法单独插入 stmt 并再次使用节点,因为调查 ID 不在答案节点本身中。在 C# 中,我可以使用 LINQtoXML 执行此操作,但解析/循环元素的速度较慢。
有没有办法在 TSQL 中做到这一点?
谢谢,大卫