TABLE_TO_XML_AND_XMLSCHEMA¶
说明¶
该函数用于将表映射为XML值和模式文档,返回值为XML类型。(兼容PostgreSQL)
参数¶
table_name
表的名称。
bool_nulls
该参数决定是否在结果中展开null值。
bool_tableforest
- true:输出xml片段。
- false:输出xml文档。
text_targetns
指定想要结果的XML命名空间。若不指定,应传递一个空字符串。
示例¶
-- 清理环境
SQL> DROP TABLE xmltbl;
-- 创建表并插入数据
SQL> CREATE TABLE xmltbl (a int, b text);
SQL> INSERT INTO xmltbl VALUES (1, 'one'), (2, 'two'), (-1, null);
-- 将表的内容映射成XML值
SQL> select TABLE_TO_XML_AND_XMLSCHEMA('XMLTBL', true, true, 'a');
TABLE_TO_XML_AND_XMLSCHEMA
-------------------------------------------------------------------------------------------
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="a"
elementFormDefault="qualified">
<xsd:simpleType name="INTEGER">
<xsd:restriction base="xsd:int">
<xsd:maxInclusive value="2147483647"/>
<xsd:minInclusive value="-2147483648"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="UDT.OSRDB.INFO_SCHEM.TEXT">
<xsd:restriction base="xsd:string">
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="RowType.OSRDB.SYSDBA._x0058_MLTBL">
<xsd:sequence>
<xsd:element name="A" type="INTEGER" nillable="true"></xsd:element>
<xsd:element name="B" type="UDT.OSRDB.INFO_SCHEM.TEXT" nillable="true"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="_x0058_MLTBL" type="RowType.OSRDB.SYSDBA._x0058_MLTBL"/>
</xsd:schema>
<_x0058_MLTBL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="a">
<A>1</A>
<B>one</B>
</_x0058_MLTBL>
<_x0058_MLTBL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="a">
<A>2</A>
<B>two</B>
</_x0058_MLTBL>
<_x0058_MLTBL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="a">
<A>-1</A>
<B xsi:nil="true"/>
</_x0058_MLTBL>
(1 row)
-- 删除表
SQL> DROP TABLE xmltbl;