Nếu bạn chỉ cần thay thế toàn bộ đoạn XML trong một lần, thì bạn có thể thực hiện CẬP NHẬT bình thường, ví dụ như thế này:
UPDATE yourTable
SET yourXML = '<yourNewValidXML/>'
WHERE rowId = 1
Nếu bạn cần chỉnh sửa các thuộc tính hoặc thành phần riêng lẻ thì bạn có thể sử dụng phương thức .modify của kiểu dữ liệu XML trong SQL Server để cập nhật các giá trị đơn lẻ. Đây là một ví dụ đơn giản để giúp bạn bắt đầu:
DECLARE @t TABLE ( rowId INT IDENTITY PRIMARY KEY, yourXML XML )
INSERT INTO @t ( yourXML )
VALUES ( '<Users>
<User Name="Bob"></User>
<User Name="Mikhail"></User>
<User Name="John"></User>
<User Name="Sue"></User>
</Users>' )
SELECT 'before' s, DATALENGTH(yourXML) dl, yourXML
FROM @t
WHERE rowId = 1
-- Update one attribute
UPDATE @t
SET yourXML.modify('replace value of (Users/User/@Name[.="Bob"])[1] with "wBob"')
WHERE rowId = 1
SELECT 'after' s, DATALENGTH(yourXML) dl, yourXML
FROM @t
WHERE rowId = 1
Nếu bạn cần thêm trợ giúp, vui lòng gửi một mẫu nhỏ XML và kết quả mong đợi của bạn.