หากคุณต้องการแทนที่ชิ้นส่วนทั้งหมดของ XML ในครั้งเดียวคุณสามารถทำการอัปเดตตามปกติเช่นบางสิ่งเช่นนี้:
UPDATE yourTable
SET yourXML = '<yourNewValidXML/>'
WHERE rowId = 1
หากคุณต้องการแก้ไขแอตทริบิวต์หรือองค์ประกอบแต่ละรายการคุณสามารถใช้วิธีการ. modify ของชนิดข้อมูล XML ใน SQL Server เพื่ออัปเดตค่าเดียว นี่เป็นตัวอย่างง่ายๆที่จะช่วยให้คุณเริ่มต้น:
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
หากคุณต้องการความช่วยเหลือเพิ่มเติมโปรดโพสต์ตัวอย่างขนาดเล็กของ XML และผลลัพธ์ที่คาดหวังของคุณ