如何更新xml数据

时间:2012-12-13 10:25:10

标签: sql-server-2008

我有以下表结构

ID int

xmlData xml

我希望xml列(xmlData)中的数据根据​​以下条件使用新值进行更新。下面是xml列中的示例数据。

<customer>
  <name display="CName">abc</name>
  <customerId display="CID">123</customerId>
</customer>

我的表中的某些行可能没有customerId xml标记,我想识别那些并需要使用customerId更新xml标记

请建议我如何做到这一点。

谢谢,

1 个答案:

答案 0 :(得分:0)

modify() Method (xml Data Type)insert (XML DML)一起使用。

update YourTable
set xmlData.modify('insert <customerId display="CID">123</customerId> 
                    into customer[1]')
where xmlData.exist('/customer/customerId') = 0

在where子句中使用exist() Method (xml Data Type),这样您只能更新没有customerId节点的行。