XML 数据修改语言 (XML DML)

适用于:SQL ServerAzure SQL 数据库Azure 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 而言,这样的属性有 xmlns、xmlns:* 和 xml:base。

  • 仅对于类型化的 xml 而言,这样的属性有 xsi:nil 和 xsi:type 。

下面列出了其他限制:

  • 对于类型化或非类型化的 xml,插入 xml:base 属性将失败 。

  • 对于类型化的 xml,删除和修改 xsi:nil 属性将失败 。 对于非类型化的 xml,则可以删除此属性或修改此属性的值。

  • 对于类型化的 xml,修改 xs:type 属性值将失败 。 对于非类型化的 xml,则可以修改此属性值。

修改类型化的 XML 实例时,最终格式必须是该类型的有效实例。 否则,将返回一个验证错误。

另请参阅

插入 (XML DML)
删除 (XML DML)
替换 (XML DML) 的值
类型化的 XML 与非类型化的 XML 的比较
创建 XML 数据的实例
xml 数据类型方法