首先,这不是 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
不会尝试进行重复消除(你可能无论如何都没有重复项)所以它应该工作。
关于database - 使用带有联合和 CLOB 字段的选择时出现 ORA-00932 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732302/