понедельник, 23 октября 2017 г.

Обновление XML данных в MSSQL Server

Например есть XML и необходимо заменить значение c id = 1030

<data>
<field id="2">работы по проекту НПС</field>
<field id="1014"/><field id="1017">60</field>
<field id="1019"/><field id="1020"/>
<field id="1022">60</field>
<field id="1030">2</field>
<field id="1031"/>
<field id="1038">324</field>
<field id="1039">329</field>
<field id="1092">869</field>
</data>

Выполняется следующим запросом

UPDATE Task
SET Data.modify('replace value of (/data/field[@id="1030"]/text())[1] with ("998")')
WHERE id = 20179