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

时间:2011-02-23 00:27:12

标签: sql xml db2 sql-update xquery-update

我使用DB2 express-c edition v9.1数据库管理系统。

表格名称:学生
专栏名称:课程

列中的

xml:

<ids>
<course>
<id>

**101**  

</id> 
<lecture-id>

**0**  
</lecture-id>

</course>
<course>
<id>

**102**  

</id>
<lecture-id>

**2**  

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

我需要将<lecture-id>节点的<course>节点的值<id>节点更新为 1 ,更新为 1
我应该如何查询数据库以获得所需的结果 任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

我认为它可能是这样的:

    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;