CURSOR_TO_XML

说明

该函数以游标作为输入,将表数据映射为XML值,返回值为XML类型。(兼容PostgreSQL)

语法

cursor_to_xml ::=

参数

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;