今天做一个查询结果为30列的view,left outer join了26张表,报出错误“ORA-01792 表或视图的最大列数为1000”,少left outer join了几张表,视图成功创建。因此我怀疑,left outer join在执行的时候,把所有左联结的表的所有列都先聚合在一起,然后在这个结果集里再得到我们要查询的列。
然后又做了个测试,将left outer join 改写成 select 列 from t1,t2,t3...t26 where t1.列 = t2.列(+).... ,结果语句正常执行。
Oracle是如何执行外关联的? 哪位达人指导一下
------解决方案--------------------
关注
------解决方案--------------------
能把你的sql语句贴出吗?应该不会这样吧
------解决方案--------------------
我同事也遇到过相同的问题,一直困惑中,貌似oracle的问题,无法解决。
lz你就认了吧。