„Jednoduchým“ přístupem by bylo přetypovat sloupec XML na VARCHAR(MAX) a jednoduše v něm provést REPLACE:
UPDATE
YourTable
SET
ParameterValue = CAST(REPLACE(CAST(ParameterValue AS VARCHAR(MAX)), '
Billy', 'Peter') AS XML)
WHERE
....
Skoro to vypadá, že nemůžete provést aktualizaci více hodnot uzlů XML v jednom příkazu UPDATE, jak vysvětluje Richard Szalay zde :
Bohužel se zdá, že implementace je strašně omezená v tom, že nemůže provést libovolný počet úprav stejné hodnoty v jedné aktualizaci.
Takže předpokládám, že budete muset buď použít výše zmíněný „hloupý“ přístup VARCHAR(MAX), nebo provést aktualizaci ve smyčce (zatímco stále najdete uzel s „billy“, AKTUALIZUJTE tento uzel, aby místo toho četl „Peter“ ).
Marc