database - 使用带有联合和 CLOB 字段的选择时出现 ORA-00932 错误

标签 database oracle plsql

首先,这不是 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 ALLUNION 运算符将合并两个集合并消除重复项。由于无法比较 CLOB 类型,因此无法进行重复消除部分。

使用 UNION ALL 不会尝试进行重复消除(你可能无论如何都没有重复项)所以它应该工作。

关于database - 使用带有联合和 CLOB 字段的选择时出现 ORA-00932 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732302/

相关文章:

java - Oracle 无效标识符不理解字符串

database - Postgresql:内部连接需要 70 秒

oracle - 如何调用正在运行的SQL脚本的文件名?

database - 存储库对数据库有隐藏的依赖性吗?

mysql - 使用子组构建组织

oracle,从 View 访问成员函数

java - Oracle:意外强制 RR 年份格式

database - 如何通过数据库链接执行 Oracle 存储过程

sql - 嵌套数组和关联数组有什么区别?

oracle - 如何在下面的查询中使用 "like"命令