如果我有以下xml:
<Main>
<Group>
<Insert />
</Group>
<Group>
<Insert />
</Group>
...
</Main>
我知道如果我使用openxml(@xml, 'Main/Group/Insert',1)
,我会解析所有<Insert>
。
有没有办法我只能读取一个组节点,解析其Insert节点,然后读取下一个组节点并解析其Insert节点?
答案 0 :(得分:0)
OpenXML或更新的XML数据类型和XPath将XML视为一个表,一次性提取并将结果视为多行。
您要问的是,对于普通的SQL Server表,您可以选择一条记录,然后读取下一条记录吗?当然 - 比如使用游标或WHILE循环 - ,但为什么呢?
考虑一下你想用它做什么,你很快就会将它作为数据集正确地处理,并将解析后的结果作为记录,并将SET逻辑应用于从中检索的值。