Обновить значение узла XML в SQL Server

Мне нужно обновить поле GroupID до 0. Я выяснил, как получить значение, у меня сейчас проблемы с его обновлением.

Любая помощь будет отличной!


  -1
  1
  false


Declare @Result xml
set @Result = convert(xml,(select ProfileXML from profiles where id = 23))

SELECT x.value('.', 'int') ID
FROM @Result.nodes('/ProblemProfile/GroupID') as R(x)

Обновить

Теперь мне нужно обновить каждую строку ».s GroupID, который имеет значение 'Foo»

declare @foo int
set @foo = -1

UPDATE  profiles
SET  ProfileXML.modify('replace value of (/ProblemProfile/GroupID/text())[1] with "0"')
WHERE  ProfileXML.value('(/ProblemProfile/GroupID)[1]', 'int') = @foo

Это только обновление первой строки, которая соответствует этим критериям. Как бы я обновил каждую строку?

Обновление 2 Это утверждение работает. Оказывается, структура базы данных для первого узла может быть разной. Простой //GroupID...etc обновляется в каждой строке. Это всегда глупые мелочи, которые сбивают нас с толку, ха-ха.

Ответы на вопрос(2)

Ваш ответ на вопрос