2011-02-23 59 views
2

我使用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>節點的值,至。
我應該如何查詢數據庫以獲得所需的結果。
任何幫助將不勝感激。

回答

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; 
+0

只是想着如何** WHERE ID = 101 **會看XML結構內。 看起來這個** ID **實際上是該行的ID。我對嗎? 我也有同樣的問題,並想嘗試您提供上述解決方案。 – Superman 2014-02-24 13:45:19