ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> Oracle >> ORACLE ORA22922 不存在的LOB值解决方法

ORACLE ORA22922 不存在的LOB值解决方法

来源:网络整理     时间:2015-11-19     关键词:

本篇文章主要介绍了"ORACLE ORA22922 不存在的LOB值解决方法",主要涉及到方面的内容,对于Oracle感兴趣的同学可以参考一下: 出现这个错误很多时候是使用了wmsys.wm_concat的同时使用了group ,distinct 或者union,本来两者没有问题,问题在于:1.Oracl...

出现这个错误很多时候是使用了wmsys.wm_concat的同时使用了group ,distinct 或者union,本来两者没有问题,问题在于:

1.Oracle Database 10g Enterprise Edition Release 10.2.0.5.0以后的版本wmsys.wm_concat查询出的是LOB类型

2.oralce的SQL语句中若查询了LOB字段是不能使用distinct,union,和group by等关键字的。

所以出现了以上错误,具体例子如下:

改之前

SELECT
        o.id,
      replace(wmsys.wm_concat(m.prod_id),',','&') product_id , 
FROM t_order  o
inner JOIN hbms_marprod_batch  m ON o.mar_id=m.mar_id
GROUP BY o.id;
改之后的:
SELECT
        o.id,
      (select replace(wmsys.wm_concat(m.prod_id),',','&') from hbms_marprod_batch where m.mar_id=o.mar_id ) product_id , 
FROM t_order  o;

以上就介绍了ORACLE ORA22922 不存在的LOB值解决方法,包括了方面的内容,希望对Oracle有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_222897.html

相关图片

相关文章