CURSOR_TO_XML¶
说明¶
该函数以游标作为输入,将表数据映射为XML值,返回值为XML类型。(兼容PostgreSQL)
参数¶
cursor_name
游标名称,不能为空,使用前必须打开。
cursor_count
游标要获取的元组数。
bool_nulls
该参数决定是否在结果中展开null值。
bool_tableforest
- true:输出xml片段。
- false:输出xml文档。
text_targetns
指定想要结果的XML命名空间。若不指定,应传递一个空字符串。
示例¶
-- 清理环境
SQL> DROP TABLE xmltbl;
SQL> DEALLOCATE XC;
-- 创建表并插入数据
SQL> CREATE TABLE xmltbl (a int, b text);
SQL> INSERT INTO xmltbl VALUES (1, 'one'), (2, 'two'), (-1, null);
-- 声明游标
SQL> DECLARE XC CURSOR FOR SELECT * FROM xmltbl ORDER BY 1, 2;
-- 打开游标
SQL> OPEN XC;
-- 利用cursor_to_xml函数将xmltbl的值映射成xml值
SQL> SELECT cursor_to_xml('XC'::refcursor, 5, false, true, '');
CURSOR_TO_XML
-------------------------------------------------------------
<row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<A>-1</A>
</row>
<row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<A>1</A>
<B>one</B>
</row>
<row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<A>2</A>
<B>two</B>
</row>
(1 row)
-- 关闭游标
SQL> CLOSE XC;
-- 释放游标
SQL> DEALLOCATE XC;
-- 删除表
SQL> DROP TABLE xmltbl;