|
Динамический запрос с возвратом результирующего набора
|
|||
---|---|---|---|
#18+
Доброго времени суток. Мне нужен аналог sp_executesql из MS SQL. А сделать мне нужно что-то вроде: Код: plsql 1. 2.
Чтобы оно банально вернуло резалтсет (делается это внутри хранимой процедуры) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 19:14 |
|
Динамический запрос с возвратом результирующего набора
|
|||
---|---|---|---|
#18+
Шамиль Фаридович Доброго времени суток. Мне нужен аналог sp_executesql из MS SQL. А сделать мне нужно что-то вроде: Код: plsql 1. 2.
Чтобы оно банально вернуло резалтсет (делается это внутри хранимой процедуры) А что именно у вас не получается??? https://www.postgresql.org/docs/12/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN в документации все разобрано. Ну или если вам больше 1 строки надо обработать то https://www.postgresql.org/docs/12/plpgsql-control-structures.html#PLPGSQL-RECORDS-ITERATING (в конце там как с execute при loop работать описано). Все есть в документации. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 20:24 |
|
Динамический запрос с возвратом результирующего набора
|
|||
---|---|---|---|
#18+
Шамиль Фаридович, Еще можно через 40.7.2.2. OPEN FOR EXECUTE . А курсор уже можно передать куда угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2020, 19:49 |
|
Динамический запрос с возвратом результирующего набора
|
|||
---|---|---|---|
#18+
После ознакомления с вашими ссылками я решил сделать немного по другому: моя функция в цикле соберет во временную таблицу необходимые данные, а потом просто вернет ее. Но почему не работает вот такая простейшая конструкция? Код: plsql 1.
Сообщение Код: plsql 1. 2. 3.
мне ни о чем не говорит, ведь эта же конструкция без EXECUTE спокойно отрабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 02:33 |
|
Динамический запрос с возвратом результирующего набора
|
|||
---|---|---|---|
#18+
Шамиль Фаридович, EXECUTE - оператор языка PL/pgSQL, следовательно результат выполнения мы можем увидеть используя его, либо в функции, либо в и анонимном блоке Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 11:02 |
|
Динамический запрос с возвратом результирующего набора
|
|||
---|---|---|---|
#18+
Шамиль Фаридович После ознакомления с вашими ссылками я решил сделать немного по другому: моя функция в цикле соберет во временную таблицу необходимые данные, а потом просто вернет ее. На всякий случай - создание и удаление временных таблиц в postgresql - штука очень дорогая по ресурсам. Поэтому в простых и часто вызываемых (часто - раз в секунду это уже часто в этом случае) случаях их категорически не рекомендуется использовать. Временные таблицы (в версии postgresq) - больше для сложной аналитики и ETL задач сделаны. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 12:36 |
|
|
start [/forum/topic.php?fid=53&fpage=31&tid=1994826]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 297ms |
total: | 427ms |
0 / 0 |