我正在使用 Microsoft SQL Server 2008。
我有这个xml:
<Root>
<Child>
<a>1</a>
<b>2</b>
</Child>
<Child>
<a>3</a>
<b>4</b>
</Child>
<Root>
我有一个接受子元素并处理它的存储过程(“spChild”)。
我需要<Child>
编写一个在每个“ ”元素上调用“spChild”的存储过程。该存储过程接受上面的整个 xml。
最好的方法是什么?
我试过这样做:
WHILE @currentChildItemIndex <= @countChildItems
BEGIN
SET @ChildItem = @DataInXML.value('data(/Root/Child[.= sql:variable("@currentChildItemIndex ")])[1]' ,'int')
EXEC @returnValue = MyDB.dbo.spChild @childXML
SET @currentChildItemIndex = @currentChildItemIndex + 1
END