Xquery更新存储在表的列中的xml节点的值

问题描述:

我使用DB2 express-c edition v9.1数据库管理系统。表Xquery更新存储在表的列中的xml节点的值

名称:学生列的
名称:当然

XML列:

<ids> 
<course> 
<id> 

**101** 

</id> 
<lecture-id> 

**0** 
</lecture-id> 

</course> 
<course> 
<id> 

**102** 

</id> 
<lecture-id> 

**2** 

</lecture-id> 
</course> 
</ids> 

我需要<id>节点更新<course>节点的<lecture-id>节点的值,至。
我应该如何查询数据库以获得所需的结果。
任何帮助将不胜感激。

我认为它可以是这样的:

UPDATE student 
     SET course = XMLQUERY('transform 
          copy  $new := $i 
          modify do replace value of $new/ids/course/lecture-id 
                 with 1 
          return $new' PASSING course AS "i") 

WHERE id = 101; 
+0

只是想着如何** WHERE ID = 101 **会看XML结构内。 看起来这个** ID **实际上是该行的ID。我对吗? 我也有同样的问题,并想尝试您提供上述解决方案。 – Superman 2014-02-24 13:45:19