大佬教程收集整理的这篇文章主要介绍了为什么此查询可在11g上运行时在10g上抛出ORA-00942?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
正如Bob在评论中所暗示的那样,该问题是由于Oracle 10g的版本错误所致。
有几台服务器使用相同的架构和相同的查询,只有版本10.2.0.1.0的服务器才有问题。Oracle专家认为该错误在10.2.0.4上不存在,但我无权访问Oracle错误数据库。
由于对服务器打补丁对于我们的客户来说是毫无疑问的,因此我们最终通过为该查询创建视图来解决该错误。
TLDR:当Oracle说某个版本存在错误并且不应使用时,则不应使用它。
我在我的11g安装上执行此查询没有问题:
SELECT
PRODUCT_INFOS_idm.FIELD_VALUE "mother_id",PRODUCT_INFOS_ep.FIELD_VALUE "product_thickness",COIL_INFOs.TIME_STAMP,COIL_INFOs.IN_THICKnesS,COIL_INFOs.MEASURED_LENGTH,COIL_INFOs.MEASURED_WIDTH,COIL_INFOs.PARAM_SET_TOP_SIDE,COIL_INFOs.PARAM_SET_BOTTOM_SIDE
FROM
COIL_INFOS
INNER JOIN
PRODUCT_INFOS PRODUCT_INFOS_idm
on PRODUCT_INFOS_idm.COIL_ID_SYSTEM=COIL_INFOs.COIL_ID_SYSTEM
and PRODUCT_INFOS_idm.TIME_STAMP=COIL_INFOs.TIME_STAMP
and PRODUCT_INFOS_idm.FIELD_NAME='ID bobina'
INNER JOIN
PRODUCT_INFOS PRODUCT_INFOS_ep
on PRODUCT_INFOS_ep.COIL_ID_SYSTEM=COIL_INFOs.COIL_ID_SYSTEM
and PRODUCT_INFOS_ep.TIME_STAMP=COIL_INFOs.TIME_STAMP
and PRODUCT_INFOS_ep.FIELD_NAME='Anchura'
WHERE
(COIL_INFOs.COIL_ID_SYSTEM LIKE '14051800' OR COIL_INFOs.COIL_ID LIKE '14051800')
但是当我的客户(可能安装了10g的设备)执行它时,他得到了
ORA-00942: table or view does not exist
SELEct count(*) from COIL_INFOS
SELEct count(*) from PRODUCT_INFOS
可能是什么问题?某个地方有语法错误吗?我怀疑Oracle版本有问题(我已经不得不删除通常用于列别名的“ as”)。Oracle 10g是否支持表别名?
以上是大佬教程为你收集整理的为什么此查询可在11g上运行时在10g上抛出ORA-00942?全部内容,希望文章能够帮你解决为什么此查询可在11g上运行时在10g上抛出ORA-00942?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。