xmlsequence
XMLSEQUENCE 函数可以将 SQL 查询结果集转换为 XML 序列。MogDB中暂时没有这个函数,我们可以用 cursor_to_xml + unnest 来模拟
Oracle源端模拟
下面代码可以把查询结果转为xmldata,并解析后循环显示
DECLARE
CURSOR cur_emp IS
SELECT to_char(VALUE(em).getclobval()) AS xmldata
FROM TABLE(xmlsequence(CURSOR (SELECT ename, comm, sal
FROM scott.emp
WHERE rownum <= 2))) em;
v_no NUMBER;
BEGIN
v_no := 0;
FOR cur IN cur_emp LOOP
v_no := v_no + 1;
dbms_output.put_line(v_no);
dbms_output.put_line(cur.xmldata);
END LOOP;
END;
结果展示
1
<ROW>
<ENAME>SMITH</ENAME>
<SAL>800</SAL>
</ROW>
2
<ROW>
<ENAME>ALLEN</ENAME>
<COMM>300</COMM>
<SAL>1600</SAL>
</ROW>
解决方案
1、通过 cur