Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
07.02.2020, 19:14
|
|||
---|---|---|---|
|
|||
Динамический запрос с возвратом результирующего набора |
|||
#18+
Доброго времени суток. Мне нужен аналог sp_executesql из MS SQL. А сделать мне нужно что-то вроде: Код: plsql 1. 2.
Чтобы оно банально вернуло резалтсет (делается это внутри хранимой процедуры) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.02.2020, 20:24
|
|||
---|---|---|---|
|
|||
Динамический запрос с возвратом результирующего набора |
|||
#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 работать описано). Все есть в документации. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.02.2020, 19:49
|
|||
---|---|---|---|
|
|||
Динамический запрос с возвратом результирующего набора |
|||
#18+
Шамиль Фаридович, Еще можно через 40.7.2.2. OPEN FOR EXECUTE . А курсор уже можно передать куда угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.02.2020, 02:33
|
|||
---|---|---|---|
|
|||
Динамический запрос с возвратом результирующего набора |
|||
#18+
После ознакомления с вашими ссылками я решил сделать немного по другому: моя функция в цикле соберет во временную таблицу необходимые данные, а потом просто вернет ее. Но почему не работает вот такая простейшая конструкция? Код: plsql 1.
Сообщение Код: plsql 1. 2. 3.
мне ни о чем не говорит, ведь эта же конструкция без EXECUTE спокойно отрабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.02.2020, 11:02
|
|||
---|---|---|---|
|
|||
Динамический запрос с возвратом результирующего набора |
|||
#18+
Шамиль Фаридович, EXECUTE - оператор языка PL/pgSQL, следовательно результат выполнения мы можем увидеть используя его, либо в функции, либо в и анонимном блоке Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.02.2020, 12:36
|
|||
---|---|---|---|
|
|||
Динамический запрос с возвратом результирующего набора |
|||
#18+
Шамиль Фаридович После ознакомления с вашими ссылками я решил сделать немного по другому: моя функция в цикле соберет во временную таблицу необходимые данные, а потом просто вернет ее. На всякий случай - создание и удаление временных таблиц в postgresql - штука очень дорогая по ресурсам. Поэтому в простых и часто вызываемых (часто - раз в секунду это уже часто в этом случае) случаях их категорически не рекомендуется использовать. Временные таблицы (в версии postgresq) - больше для сложной аналитики и ETL задач сделаны. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1994826]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 140ms |
0 / 0 |