使用Oracle SQL生成嵌套XML
发布时间:2021-05-22 12:49:23 所属栏目:站长百科 来源:网络整理
导读:伴侣们, 我正在行使Oracle 10g,我必要行使以下xml名目标SQL从表中天生功效: RESULTS ROW EMPNO7839/EMPNO ENAMEKING/EMPNO SUBROWS ROW EMPNO7369/EMPNO ENAMESMITH/EMPNO ... Rest of the EMP table records excluding KING /ROW /SUBROWS /ROW/RESULTS 规
伴侣们, 我正在行使Oracle 10g,我必要行使以下xml名目标SQL从表中天生功效: <RESULTS> <ROW> <EMPNO>7839</EMPNO> <ENAME>KING</EMPNO> <SUBROWS> <ROW> <EMPNO>7369</EMPNO> <ENAME>SMITH</EMPNO> ... Rest of the EMP table records excluding KING </ROW> </SUBROWS> </ROW> </RESULTS> 法则是表现在外部行中选择的记录,子行应包括除外部行中表现的记录之外的全部其他记录.记录没有条理布局. 在上面的示例中,在外部行中选择了King,因此子行应包括来自emp的全部记录,不包罗King. 这个查询给了我必要的功效集: select e.empno,e.ename,cursor(select empno,ename from emp where empno <> 7839) from emp e where empno = 7839 可是,当我实行行使以下要领从今天生XML时: select xmlelement("RESULTS",xmlagg(xmlelement("ROW",xmlelement("EMPNO",empno),xmlelement("ENAME",ename),cursor(SELECT xmlagg(xmlelement("SUBROWS",xmlelement("ROW",ename) ) ) ) FROM emp WHERE empno <> 7839 ) ) ) ) from emp where empno = 7839 我收到以下错误: ORA-22902: CURSOR expression not allowed 22902. 00000 - "CURSOR expression not allowed" *Cause: CURSOR on a subquery is allowed only in the top-level SELECT list of a query. 我实行过行使DBMS_XMLGEN: SELECT DBMS_XMLGEN.getXML('select empno,ename,ename from emp where empno <> 7839) as SUBROWS from emp where empno = 7839') FROM dual Whist以预期的名目输出XML,但它没有表现正确的元素名称. 任何辅佐办理这个题目将很是谢谢. 提前叩谢 这不起浸染?select xmlelement("RESULTS",(SELECT xmlagg(xmlelement("SUBROWS",ename) ) ) ) FROM emp WHERE empno <> 7839 ) ) ) ) from emp where empno = 7839 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |