XML 資料修改語言 (XML DML)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

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,屬性為 xmlnsxmlns:*xml:base

  • 若只為具類型的 xml,則屬性為 xsi:nilxsi:type

其他限制包括下列項目:

  • 若為具類型或不具類型的 xml,則插入屬性 xml:base 會失敗。

  • 若為具類型的 xml,則刪除及修改 xsi:nil 屬性會失敗。 若為不具類型的 xml,您可以刪除屬性或修改其屬性值。

  • 若為具類型的 xml,則修改 xs:type 屬性的值會失敗。 若為不具類型的 xml,您可以修改屬性值。

在修改具類型的 XML 執行個體時,最後的格式必須是該類型的有效執行個體。 否則,就會傳回驗證錯誤。

另請參閱

insert (XML DML)
delete (XML DML)
replace value of (XML DML)
比較具類型的 XML 與不具類型的 XML
建立 XML 資料的執行個體
xml 資料類型方法