oracle xmltable 序列,如何在xmltable oracle中使用group by

当我使用

group by

在XML表中,它抛出错误:

ORA-01422:精确获取返回多个请求的行数

我尝试使用listagg()函数作为解决方案,但它没有解决问题。

我的SQL

SELECT xmlelement("logs", xmlagg(xmlelement("log", xmlforest(v1.column_1 as "id", v1.column_2 as "name")))).getclobval()

INTO v_output

FROM xmltable( '/logs/log' passing xmltype(in_xml) columns id number path

'id' ) x

JOIN view v1

ON v1.id= x.id;

输入XML

declare

in_xml clob := '<?xml version="1.0" encoding="UTF-8"?>

123456

456898

';

v_output clob;

begin

select xmlelement("logs", xmlagg(xmlelement("log", xmlforest(v1.column_1 as "id", v1.column_2 as "name")))).getclobval()

into v_output

from xmltable(

'/logs/log'

passing xmltype(in_xml)

columns id number path 'id'

) x

join view v1 on v1.id = x.id

GROUP BY v1.id;

dbms_output.put_line (v_output);

end;

任何解决方案都是最受欢迎的。

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值