Cách tiếp cận "đơn giản" sẽ là truyền cột XML thành VARCHAR (MAX) và chỉ cần thực hiện THAY THẾ trên đó:
UPDATE
YourTable
SET
ParameterValue = CAST(REPLACE(CAST(ParameterValue AS VARCHAR(MAX)), '
Billy', 'Peter') AS XML)
WHERE
....
Có vẻ như bạn không thể cập nhật nhiều giá trị nút XML trong một câu lệnh CẬP NHẬT duy nhất, như Richard Szalay giải thích tại đây :
Thật không may, có vẻ như việc triển khai bị hạn chế đáng kể ở chỗ nó không thể thực hiện một số sửa đổi tùy ý cho cùng một giá trị trong một bản cập nhật.
Vì vậy, tôi đoán bạn sẽ phải sử dụng cách tiếp cận VARCHAR (MAX) "câm" được đề cập ở trên hoặc cập nhật trong một vòng lặp (TRONG KHI bạn vẫn tìm thấy một nút có "billy", hãy CẬP NHẬT nút đó để đọc "Peter" thay thế ).
Marc