Oracle DB版本与“ORA-01417 表可以外部连接到至多一个其他的表”报错

    科技2024-02-18  102

    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 版本:

    Processed: 0.016, SQL: 8