查询以更新SQL Server中的现有XML节点

时间:2014-01-31 13:56:43

标签: sql-server xml tsql sql-update insert-update

如何使用新值替换XML列中的节点。

Table :   Create Table ERVersion  (   
 ErVersionId    int,  
 Change     xml   
)

Insert into ERVersion  values  
(123,'<changes><change property="Custodian"><before>Group AB</before><after>Group AX</after></change></changes>')  

GO  
Insert into ERVersion  values  
(124,'<changes><change property="Custodian"><before>Group AX</before><after>Group AB</after></change></changes>')  
GO
Select * from ERVERSION

我需要使用新值更新XML列“更改”中的值 例如:
“AB组”到“GROUP1”
“组AX”到“GROUP2”......

1 个答案:

答案 0 :(得分:0)

这是重复的,请通过搜索检查现有的答案。

您可以在此处找到相关的问题和答案:Update XML stored in a XML column in SQL Server

简洁地:

update [tableName] set [xmlColumn].modify('replace value of (/MyXmlDoc/@XmlProperty)[1] with "NewxmlValue"')

有关XML DML(数据修改语言)的完整参考,请查看MSDN文档:http://technet.microsoft.com/en-us/library/ms177454.aspx