1

我正在尝试在 sql 2008 中创建一个存储过程,以从这样的一些 xml 中选择 id 值。

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 回答