Update XML node value in SQL Server Update XML node value in SQL Server xml xml

Update XML node value in SQL Server


You can do something like this:

UPDATE    dbo.profilesSET    ProfileXML.modify('replace value of (/ProblemProfile/GroupID/text())[1] with "0"')WHERE   id = 23

Check out this article on SQL Server 2005 XQuery and XML-DML for more details on what you can do with the .modify keyword (insert, delete, replace etc.).

Marc

PS: In order to get the value, it would be a lot easier to do just this:

SELECT ProfileXML.value('(/ProblemProfile/GroupID)[1]', 'int') as IDFROM dbo.profilesWHERE id = 23

(unless of course you need the XML as a SQL variable for something else later on)


The simplest way to change the text inside element

UPDATE [TableName]   SET        [fieldName].modify('replace value of (root/elementName/text())[1] with "wBob"')GO