正如Bob在评论中所暗示的那样,该问题是由于Oracle 10g的版本错误所致。
有几台服务器使用相同的架构和相同的查询,只有版本10.2.0.1.0的服务器才有问题。Oracle专家认为该错误在10.2.0.4上不存在,但我无权访问Oracle错误数据库。
由于对服务器打补丁对于我们的客户来说是毫无疑问的,因此我们最终通过为该查询创建视图来解决该错误。
TLDR:当Oracle说某个版本存在错误并且不应使用时,则不应使用它。
为什么此查询可在11g上运行时在10g上抛出ORA-00942?
正如Bob在评论中所暗示的那样,该问题是由于Oracle 10g的版本错误所致。
有几台服务器使用相同的架构和相同的查询,只有版本10.2.0.1.0的服务器才有问题。Oracle专家认为该错误在10.2.0.4上不存在,但我无权访问Oracle错误数据库。
由于对服务器打补丁对于我们的客户来说是毫无疑问的,因此我们最终通过为该查询创建视图来解决该错误。
TLDR:当Oracle说某个版本存在错误并且不应使用时,则不应使用它。