|
View и параметры
|
|||
---|---|---|---|
#18+
Добрий день всем! Прошу помощи. Есть сложный View, который должен вызываться с параметрами. Сейчас это реализовано через временную таблицу. Перед вызовом View заносятся значения в таблицу и после вызывается View. Все работает отлично, но проблема в том, что вьюшку нужно вызывать одним запросом. Попробовал через функцию Код: plsql 1.
Но проблема в том, что сначала выполняется View, а уже потом заноситься значения во временную таблицу. Как можно решить эту проблему? Или как в одном запросе сначала заносить данные во временную таблицу, а потом вызывать View? Использовать табличные функции, пока, не очень хочеться. Укажите направление куда копать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 10:30 |
|
View и параметры
|
|||
---|---|---|---|
#18+
123йй, Если другого пути не будет, то придется делать табличную функцию. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 11:08 |
|
View и параметры
|
|||
---|---|---|---|
#18+
SergiiW 123йй, Если другого пути не будет, то придется делать табличную функцию. :( в табличную как данные передатите? ps можно глянуть в сторону контекста, но ето не решает задачу .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 11:35 |
|
View и параметры
|
|||
---|---|---|---|
#18+
SergiiW, С 19.6 Код: plsql 1.
Regards Maxim ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 11:51 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Stax, А какие проблемы передать параметр в функцию? Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 12:23 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Maxim Demenko, Можно, пожалуйста, детальнее. Не понял идею. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 12:27 |
|
View и параметры
|
|||
---|---|---|---|
#18+
SergiiW, https://blog.sqlora.com/en/parameterized-views-in-oracle-no-problem-with-sql-macros/ Regards Maxim ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 12:41 |
|
View и параметры
|
|||
---|---|---|---|
#18+
SergiiW Stax, А какие проблемы передать параметр в функцию? Код: plsql 1.
где тут вью? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 13:42 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Maxim Demenko SergiiW, С 19.6 Код: plsql 1.
Regards Maxim можете привести манюсенький пример create view с return varchar2 SQL_MACRO для пользования как параметр и как тогда вьюшку вызывать ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 13:46 |
|
View и параметры
|
|||
---|---|---|---|
#18+
SergiiWКак можно решить эту проблему? Например, можно вернуться к истокам и прочитать что такое view и как его используют. Вы явно пытаетесь делать это совершенно извращённым способом. Обычно параметры передают запросу, который использует view: Код: sql 1.
А уж СУБД сама пропихнёт их внутрь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 13:56 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Stax, там же по ссылке примеры , ну вот еще на моей 19.7 Код: 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. 26. 27. 28. 29. 30. 31. 32. 33.
Regards Maxim ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 14:05 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Maxim Demenko, так понятно, но ето ж не совсем вью ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 15:43 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Stax, Так pipelined function тоже не совсем вью ... Но кмк ТС такое надо - если конечно версия позволяет Regards Maxim ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 16:25 |
|
View и параметры
|
|||
---|---|---|---|
#18+
[quot Maxim Demenko#22274894] так я и для pipelined не понимал как они собираюся параметризировать вью имхо пока-что передать параметр во вью нельзя напр select * from view_p using xxx,yyy where ... ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 16:42 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Stax, Вью используется в функции. Функция возвращает результат работы вью. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 16:56 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Уважаемый, если бы все решалось "where field=:param" я бы даже не писал в форум. field не выводиться в поля вью. Да, можно вывести, но в этом случае выполнение вью заняло бы сутки, если не месяцы. Параметры используются в рекурсивных запросах и даже вывести их в поля вью будет сложно, а фильтровать по ним - это повеситься. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 17:02 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Maxim Demenko, спасибо! До сих пор не знал про такую возможность. Но, к сожалению, к моему случаю это не применимо. Можно изменить скрипт, который основан на вью, но невозможно изменить саму вью или передать ей параметры. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 17:05 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Возможно кто знает, как одним запросом внести данные в таблицу или установить переменные сессии, пакета и получить результат SELECT? MySql это делается просто (Inset ...; Select ...), а в oracle - даже не представлю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 17:16 |
|
View и параметры
|
|||
---|---|---|---|
#18+
SergiiW, Откуда возникает ограничение на один запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 18:03 |
|
View и параметры
|
|||
---|---|---|---|
#18+
SergiiW Stax, Вью используется в функции. Функция возвращает результат работы вью. всеравно внутри функции параметр во вью не передать ...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 18:11 |
|
View и параметры
|
|||
---|---|---|---|
#18+
SergiiW Возможно кто знает, как одним запросом внести данные в таблицу или установить переменные сессии, пакета и получить результат SELECT? MySql это делается просто (Inset ...; Select ...), а в oracle - даже не представлю. Я создавал функцию вида Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
И потом выполнял запрос Код: plsql 1.
Работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 19:01 |
|
View и параметры
|
|||
---|---|---|---|
#18+
env Откуда возникает ограничение на один запрос? Такие условия, к сожалению, изменить сложно. 1. Есть готовая программа, которая оперирует только одним запросом. 2. Нужно получать эти данные в MS Excel через ODBC. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 21:10 |
|
View и параметры
|
|||
---|---|---|---|
#18+
Stax все равно внутри функции параметр во вью не передать stax Внутри функции я сохраняю параметры во временную таблицу, а затем вызываю вью, которая уже использует эту временную таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 21:12 |
|
View и параметры
|
|||
---|---|---|---|
#18+
va_kochnev SergiiW Возможно кто знает, как одним запросом внести данные в таблицу или установить переменные сессии, пакета и получить результат SELECT? MySql это делается просто (Inset ...; Select ...), а в oracle - даже не представлю. Я создавал функцию вида Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
И потом выполнял запрос Код: plsql 1.
Работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 21:16 |
|
|
start [/forum/topic.php?fid=52&msg=40041723&tid=1880464]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 290ms |
total: | 411ms |
0 / 0 |