0

我正在使用 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
4

0 回答 0