De "eenvoudige" benadering zou zijn om de XML-kolom naar VARCHAR(MAX) te casten en er gewoon een REPLACE op te doen:
UPDATE
YourTable
SET
ParameterValue = CAST(REPLACE(CAST(ParameterValue AS VARCHAR(MAX)), '
Billy', 'Peter') AS XML)
WHERE
....
Het lijkt bijna alsof je geen update van meerdere XML-knooppuntwaarden in een enkele UPDATE-instructie kunt doen, zoals Richard Szalay uitlegt hier :
Helaas lijkt het erop dat de implementatie verschrikkelijk beperkt is in die zin dat het niet een willekeurig aantal wijzigingen aan dezelfde waarde kan maken in een enkele update.
Dus ik denk dat je ofwel de "domme" VARCHAR (MAX) -benadering moet gebruiken die hierboven is genoemd, of de update in een lus moet doen (TERWIJL je nog steeds een knooppunt vindt met "billy", UPDAATE dat knooppunt om in plaats daarvan "Peter" te lezen ).
Marc