XML 資料修改語言 (XML DML)
XML 資料修改語言 (XML DML) 是 XQuery 語言的延伸。 如 W3C 所定義的,XQuery 語言缺少「資料操作」(DML) 的部份。 本主題中所介紹的 XML DML (同時也是 XQuery 語言),可提供功能完整的查詢及資料修改語言,讓您可以針對 xml 資料類型來加以使用。
XML DML 會將下列區分大小寫的關鍵字加入到 XQuery 中:
insert
delete
replace value of
如<XML 資料類型和資料行 (SQL Server)>中所描述的,您可以建立 xml 類型的變數及資料行,並將 XML 文件或片段指派給這些變數及資料行。 若要修改或更新這些 XML 執行個體,請執行下列動作:
使用 xml 資料類型的 modify() 方法 (xml 資料類型)。
在 modify() 方法內指定適當的 XML DML 陳述式。
請注意,有一些屬性不能被插入、刪除或修改它們的值。 例如:
若為具類型或不具類型的 xml,屬性為 xmlns、xmlns:* 及 xml:base。
若只為具類型的 xml,則屬性為 xsi:nil 及 xsi:type。
其他限制包括下列項目:
若為具類型或不具類型的 xml,則插入屬性 xml:base 會失敗。
若為具類型的 xml,則刪除及修改 xsi:nil 屬性會失敗。 若為不具類型的 xml,您可以刪除屬性或修改屬性值。
若為具類型的 xml,則修改 xs:type 屬性的值會失敗。 若為不具類型的 xml,您可以修改屬性值。
在修改具類型的 XML 執行個體時,最後的格式必須是該類型的有效執行個體。 否則,就會傳回驗證錯誤。