XMLATTRIBUTES
XMLATTRIBUTES 函数将通过自变量构造 XML 属性。
此函数只能用作 XMLELEMENT 函数的自变量。 结果是一个 XML 序列,其中包含每个非空 attribute-value-expression 参数的 XML 属性。
- 属性值表达式
- 结果为属性值的表达式。 attribute-value-expression 的数据类型不得为 ROWID , DATALINK , XML 或基于 ROWID , DATALINK 或 XML 的单值类型。 该表达式可以是任何 SQL 表达式。 如果该表达式不是简单列引用,那么必须指定属性名称。
- 属性名
- 指定属性名称。 该名称是必须采用 XML 限定名或 QName 格式的 SQL 标识。 请参阅 W3C XML 名称空间规范以了解有关有效名称的更多详细信息。 属性名称不能是 "xmlns" ,也不能以 "xmlns:" 作为前缀。 名称空间是使用函数 XMLNAMESPACES 声明的。 不允许重复的属性名 (无论是隐式还是显式)。
此函数的结果为 XML。 如果任何 attribute-value-expression 的结果可以为空,那么结果可以为空; 如果每个 attribute-value-expression 的结果为空,那么结果为空值。
示例
注: XMLATTRIBUTES 不会在输出中插入空格或换行符。 所有示例输出都将格式化以增强可读性。
- 生成具有属性的元素。
此查询将生成以下结果:SELECT E.EMPNO, XMLELEMENT( NAME "Emp", XMLATTRIBUTES( E.EMPNO, E.FIRSTNME ||' '|| E.LASTNAME AS "name" ) ) AS "Result" FROM EMPLOYEE E WHERE E.EDLEVEL = 12EMPNO Result 000290 <Emp EMPNO="000290" name="JOHN PARKER"/> 000310 <Emp EMPNO="000310" name="MAUDE SETRIGHT"/> 200310 <Emp EMPNO="200310" name="MICHELLE SPRINGER"/>
