我有以下表结构
ID int
xmlData xml
我希望xml列(xmlData)中的数据根据以下条件使用新值进行更新。下面是xml列中的示例数据。
<customer>
<name display="CName">abc</name>
<customerId display="CID">123</customerId>
</customer>
我的表中的某些行可能没有customerId xml标记,我想识别那些并需要使用customerId更新xml标记
请建议我如何做到这一点。
谢谢,
答案 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
节点的行。