ora06502、ora06512错误该如何解决?

孙月魂 2014-09-09 09:18:33
select id,max(bm) bm from
(select id,to_char(wmsys.wm_concat(bmmc) over (order by sj)) bm from cl t1,bm t2
where t1.bm=t2.bmbh(+))
group by id

运行之后显示:


我感觉是不是bmmc合并之后创建的虚拟列bm数据长度太短的缘故?但如果是这样,那要如何改变虚拟列的长度了?

...全文
1978 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
孙月魂 2014-09-10
  • 打赏
  • 举报
回复
解决了~在order by前再加PARTITION BY就行了。。。
bw555 2014-09-09
  • 打赏
  • 举报
回复
wmsys.wm_concat(bmmc) 改为 trim(both '','' from sys.stragg(to_char(bmmc) ||nvl2(bmmc, '','', ''''))) 试下 下面这个例子和你的现象一样,参考 http://blog.csdn.net/yanguan55/article/details/8261164
孙月魂 2014-09-09
  • 打赏
  • 举报
回复
我发现是我加了over合并的数据就出现了不明原因的重复叠加,如果不加就没事,但我这个要按时间排序又必须加over,有人知道这是为什么吗?
孙月魂 2014-09-09
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
wmsys.wm_concat(bmmc) 改为 trim(both '','' from sys.stragg(to_char(bmmc) ||nvl2(bmmc, '','', ''''))) 试下 下面这个例子和你的现象一样,参考 http://blog.csdn.net/yanguan55/article/details/8261164
额~好像还是不行~我用这个不是报错就是无限搜。。。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧