数据库 – 使用select与union和CLOB字段时的ORA-00932错误

前端之家收集整理的这篇文章主要介绍了数据库 – 使用select与union和CLOB字段时的ORA-00932错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,这不是 this问题的重复.如果是,对不起,但我无法通过阅读解决我的问题.

我收到这个错误

ORA-00932: inconsistent datatypes: expected - got CLOB

当我尝试执行这个SELECT语句:

SELECT TXT.t_txt 
  FROM CITADM.tb_avu_txt_grc GR  
 INNER JOIN CITADM.tb_avu_txt TXT   
    ON (GR.e_txt = TXT.e_txt and GR.u_txt = TXT.u_txt)  
 WHERE  TXT.u_lin_ord = 1
UNION
SELECT TXT.t_txt 
  FROM CITADM.tb_avu_txt_grc_cvd GRC  
 INNER JOIN CITADM.tb_avu_txt TXT  
    ON (GRC.e_txt = TXT.e_txt and GRC.u_txt = TXT.u_txt)  
 WHERE  TXT.u_lin_ord = 2

所选字段(t_txt)为CLOB数据类型.正如你所看到的,它是同一张表的同一列.这个声明属于一个较大的声明,我已经孤立了我遇到这个问题的部分.

非常感谢你.

解决方法

我相信这个问题是使用UNION而不是UNION ALL. UNION运算符将组合两个集合并消除重复.由于CLOB类型无法比较,所以重复删除部分是不可能的.

使用UNION ALL不会尝试重复删除(您可能没有重复的操作),所以它应该工作.

猜你在找的MsSQL相关文章