Xquery для обновления значения узла xml, хранящегося в столбце таблицы - PullRequest
2 голосов
/ 23 февраля 2011

я использую систему управления базами данных 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> узла как 101 , до 1 .
как я должен запросить базу данных, чтобы получить желаемый результат.
любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 02 марта 2011

Я думаю, что это может быть так:

    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;
...