ORA-01417 表可以外部连接到至多一个其他的表
问题:测试环境没有报错,PRD环境 Oracle DB 报错:
ORA-01417 表可以外部连接到至多一个其他的表
报错原因:不能左连接多个表
- 有表A,B,C ;表B可以连接到A,然后C可以连接到B:
select ... from A, B, C
where A.column = B.column(+)
and B.column2 = C.column2(+);
但是不能C连接到A, 然后C又连接到B :
select ... from A, B, C
where A.column = C.column(+)
and B.column2 = C.column2(+);
此时C表左连接了两个表,会报 ora-01417:表可以外部连接到至多一个其它的表
- 但是该报错,还与Oracle的版本有关系:
PRD环境的版本:Oracle Database 11g
报错。
QAS测试环境版本:Oracle Database 19c Standard Edition 2
,高版本没有报错。
-- 查看Oracle DB版本
SELECT * FROM product_component_version;
-- 或者
select * from v$instance;
PRD版本:
QAS 版本: