Запрос на обновление существующего узла XML в SQL Server

Как заменить узел в столбце 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" на "ГРУППА1"
"Группа AX" на "ГРУППА2"...


person SESHI    schedule 31.01.2014    source источник


Ответы (1)


Это дубликат, пожалуйста, проверьте существующие ответы, выполнив поиск.

Вы можете найти связанный вопрос и ответ здесь: Обновление XML хранится в столбце XML в 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

person Winds of Change    schedule 31.01.2014