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