SQL查询更新NVarchar带有XML目录将缺少的属性添加到节点



我有一个带有XML内容的NVARCHAR列。不确定是否需要将其施加到XML。所有XML内容的格式都相同,但需要修改许多记录,而第一个节点需要添加属性:

<MyFirstNode SomeAttribute="value" SomeOtherAttribute="anothervalue">

更新到:

<MyFirstNode SomeAttribute="value" AddThisAttribute="nicevalue" SomeOtherAttribute="anothervalue">

如何使用AddThisatTribute =" NiceValue"更新所有必需的节点?所有人都需要相同的属性和值。

如果实际上将其解释为XML,则不必在属性列表的中间插入addthisattribute =" nicevalue";一种选择是做一个简单的

UPDATE myTable
SET XMLColumn = REPLACE(XMLColumn, '<MyFirstNode ', '<MyFirstNode AddThisAttribute="nicevalue" ')

这可能比尝试插入值更容易,尤其

交替,

UPDATE myTable
SET XMLColumn = REPLACE(XMLColumn, ' SomeOtherAttribute=', ' AddThisAttribute="nicevalue"  SomeOtherAttribute=')

可以起作用,尽管如果"某些疗程"出现在MyFirstNode以外的其他节点类型中,则可能会进行不希望的更改。

最新更新