Den "simple" tilgang ville være at caste XML-kolonnen til VARCHAR(MAX) og bare lave en REPLACE på den:
UPDATE
YourTable
SET
ParameterValue = CAST(REPLACE(CAST(ParameterValue AS VARCHAR(MAX)), '
Billy', 'Peter') AS XML)
WHERE
....
Det ser næsten ud til, at du ikke kan lave en opdatering af flere XML-nodeværdier i en enkelt UPDATE-sætning, som Richard Szalay forklarer her :
Desværre ser det ud til, at implementeringen er frygtelig begrænset, fordi den ikke kan foretage et vilkårligt antal ændringer til den samme værdi i en enkelt opdatering.
Så jeg gætter på, at du enten bliver nødt til at bruge den "dumme" VARCHAR(MAX)-tilgang nævnt ovenfor eller lave opdateringen i en løkke (MENS du stadig finder en node med "billy", OPDATERE den node for at læse "Peter" i stedet for ).
Marc