|
|
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
Приветсвую ALL. Возник вопрос, в ходе переписывания большого запроса возникло желание сделать аналог SQL OUTER APPLY с помощь pipline функции сделал тип Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. функцию Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. приджойнил в основной запрос Код: plsql 1. 2. 3. 4. в результате запрос работает прекрасно за одним исключением, примерно в 20 процентов случаях данные этой функции не возвращаются, делаешь рефреш - все в порядке. Вопрос, как сделать правильно, чтобы оно работало ЗЫ Oracle 11.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:51 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. С какой стати left join должен выполнять функцию с параметрами на каждую левую строку. table-коррелят присоединяется к источнику запятой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 14:58 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
-2-С какой стати left join должен выполнять функцию с параметрами на каждую левую строку. table-коррелят присоединяется к источнику запятой.А с какой стати не должен, если уж оракловая реализация внешней левости с табличной функцией позволяет функции видеть атрибут левой строки как входной параметр? Если уж синтаксис позволяет, то под капотом должно преобразовываться во что-то типа Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 15:48 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
КобанчегЕсли уж ансишный синтаксис в Оракле позволяет GET_FACKT_ACT видеть INVOICE.IDFixed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 15:51 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
Кобанчегесли уж оракловая реализация внешней левости с табличной функцией позволяет (+) задокументирован для этой цели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 15:52 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
-2-Кобанчегесли уж оракловая реализация внешней левости с табличной функцией позволяет (+) задокументирован для этой цели.Этого я не отрицаю. Но анси ситаксис должен либо выдавать ошибку (как в МССКЛ до явного указания outer apply) либо возвращать корректный результат outer apply, кстати, менее гибок, т.к. не позволяет указывать pre-join предикат. Так что допустимость подобного для анси левого внешнего весьма предпочтительна для нелюбителей запятых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 16:02 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
Crazy_Wolfприджойнил в основной запрос Код: plsql 1. 2. 3. 4. Вопрос, как сделать правильно, чтобы оно работало ЗЫ Oracle 11.2 Вот так попробуйте: Код: plsql 1. 2. это т.н. "лево-коррелированное" соединение, дополнительных предикат не требуется. Плюсик-в-скобках - означает внешнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 16:05 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
Кобанчегouter apply, кстати, менее гибок, т.к. не позволяет указывать pre-join предикат без дополнительной inline viewFixed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2018, 16:12 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы, тут вот еще на stackoverflow нашлась такая тема , вопрос там про другое, но меня привлекла запись Код: plsql 1. Попробовал у себя заменить Код: plsql 1. 2. 3. 4. как ни странно все тоже заработало. Вопрос насколько правильно и можно ли это использовать (просто для меня синтаксис с джойнами наглядней (+)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 06:37 |
|
||
|
left join pipeline функция возвращает параметры через раз
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. Fixed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2018, 06:40 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39719415&tid=1883318]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 464ms |

| 0 / 0 |
