XML 数据修改语言 (XML DML)
适用于:SQL Server Azure 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 数据类型的 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 实例时,最终格式必须是该类型的有效实例。 否则,将返回一个验证错误。
另请参阅
插入 (XML DML)
删除 (XML DML)
替换 (XML DML) 的值
类型化的 XML 与非类型化的 XML 的比较
创建 XML 数据的实例
xml 数据类型方法