1

このようなxmlからid値を選択するために、SQL 2008でストアドプロシージャを作成しようとしています。

DECLARE @idPolygonXML XML

SET @idPolygonXML = 
'<polygons>
    <id>35</id>
    <id>36</id>
    <id>37</id>
    <id>38</id>
    <id>39</id>
    <id>40</id>
</polygons>'

特定のインデックスの ID を取得できますが、それらすべてが必要であり、「value() にはシングルトンが必要です」というメッセージが表示され続けます。

xmlを変更せずにこれらすべての値を取得する方法を知っている人はいますか?

4

1 に答える 1

1

これを見てください:http://msdn.microsoft.com/en-us/library/ms188282.aspx

これはテストされていませんが、クエリは次のようになります

SELECT T2.ID.query('.')
CROSS APPLY @idPolygonXML.nodes('/polygons/id') as T2(ID)
于 2012-08-06T04:00:19.970 に答える