|
ORA-01799: a column may not be outer-joined to a subquery
|
|||
---|---|---|---|
#18+
Столкнулся с этой ошибкой впервые... Имеем: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Если погуглить, то консенсус интернета сводится к "так же писать нельзя", однако Том "наше всё" Кайт парирует, что если очень хочется, то можно , а запрет касается только синтаксиса с (+). Но тут я не понял, он тестирует это всё на 19.10, а у меня в наличии только 19.0 и 12.1.0.2. Начиная с какой версии всё-таки можно? А самое интересное, что все эти "запреты" обходятся элементарно с помощью тупого заворачивания запроса в select * from (...): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Что-то я запутался, что из этого баг, а что фича? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 12:27 |
|
ORA-01799: a column may not be outer-joined to a subquery
|
|||
---|---|---|---|
#18+
Никанор Кузьмич, C 12-й версии Оракл переписывает запросы с внешним соединением по скаляру. Конкретно в приведенном случае кляуза with препятствовала переписыванию, что я бы считал багом. Того же эффекта можно добиться через no_query_transformation. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Все подробности по переписыванию в 10053. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 13:39 |
|
|
start [/forum/topic.php?fid=52&fpage=11&tid=1879870]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
80ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 246ms |
total: | 412ms |
0 / 0 |