跳转到内容

SQL 方言参考/SQL XML

来自维基教科书,开放书籍,开放世界

ISO 出版物 (ISO/IEC 9075-14) 是 SQL 标准的一部分。它以前被称为 SQLX 或 SQL/XML。它定义了数据类型 XML 和作用于此数据类型以及在该数据类型内创建和处理 XML 对象(元素、属性等)的函数。Oracle 将数据类型表示为 XMLType。


函数 描述 DB2 SQLite MonetDB MySQL PostgreSQL Firebird OpenLink Virtuoso Oracle MSSQL
版本 支持的软件版本 V9 N/A V11+ 计划中 8.3+ N/A 3.5-4.x 9-10x 专有 XML 扩展
XMLElement() 创建 XML 元素 XMLElement() N/A xmlelement() 计划中 xmlelement() N/A XMLElement() XMLElement() .query()[1]
XMLForest() 从传入的组件创建 XML 片段。 XMLForest() N/A xmlforest() xmlforest() 计划中(补丁存在) N/A XMLForest() XMLForest() FOR XML 子句[2]
XMLColAttVal() 创建 XML 片段,然后扩展结果 XML,使每个 XML 片段具有名为“column”的属性,并带有“name”属性。 N/A N/A 计划中 计划中 N/A XMLColAttVal() XMLColAttVal() FOR XML 子句[2]
ExtractValue() 以 XML 实例和 XPath 表达式作为参数,并返回结果节点的标量值。 N/A N/A 计划中 计划中 N/A ExtractValue() ExtractValue() .value()[3]
XMLTransform() 以 XML 实例和 XSL 样式表作为参数,样式表本身是 XML 实例的一种形式。它将样式表应用于实例并返回 XML。 N/A N/A 计划中 计划中 N/A XMLTransform() XMLTransform() N/A[4]
XMLSequence() 接受输入,并返回 XML 中顶层节点的 varray,或者为游标的每一行返回一个 XMLSequence 类型和一个 XML 文档。 N/A xmlsequence() 计划中 计划中 N/A XMLSequence() XMLSequence() .nodes()[5]
XMLConcat() 接受一系列 XML 实例作为输入,为每一行连接一系列元素,并返回连接后的系列。 XMLConcat N/A N/A 计划中 计划中(补丁存在) N/A XMLConcat() XMLConcat() N/A[6]
UpdateXML() 以 XML 实例和 XPath 值对作为参数,并返回包含更新值的 XML 实例。 N/A N/A 计划中 计划中 N/A UpdateXML() UpdateXML() .modify()[7]
  1. MSSQL 2005 及更高版本的 xml 数据类型 .query() 方法执行此函数。
  2. a b MSSQL 2000 及更高版本的 SQL SELECT 语句的 FOR XML 子句执行类似的功能。
  3. MSSQL 2005 及更高版本的 xml 数据类型 .value() 方法执行此函数。
  4. 在 MSSQL 2005 及更高版本中,xml 数据类型和 SQLCLR 可用于创建模拟此功能的函数/过程。
  5. MSSQL 2005 及更高版本的 xml 数据类型 .nodes() 方法执行此函数。
  6. 在 MSSQL 2005 及更高版本中,+ 字符串连接运算符可以与 xml 数据类型实例到字符数据类型的显式转换一起使用,以模拟此功能。
  7. MSSQL 2005 及更高版本的 xml 数据类型 .modify() 方法使用 XML DML 执行此函数。
华夏公益教科书