Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
27.05.2021, 15:50
|
|||
---|---|---|---|
|
|||
Написать функцию, возвращающую набор данных. |
|||
#18+
Решил переделать View в функцию, принимающую параметры. Т.е. будет сначала несколько строк вычислений переменных, а потом один селект (или больше одного, но возвращается 1 набор данных). Как это сделать на pl/pgsql, чтобы я мог потом сделать селект этой ф-ии в pgadmin или dbforge studio и увидеть вернувшиеся строки? Для oracle это была бы ф-я, возвращающая sys_refcursor и я бы вызвал её в pl/sql developer типа Код: plsql 1.
Для pl/pgsql ф-я, возвращающая refcursor, мне подойдёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2021, 16:36
|
|||
---|---|---|---|
|
|||
Написать функцию, возвращающую набор данных. |
|||
#18+
mnbvcx Решил переделать View в функцию, принимающую параметры. Т.е. будет сначала несколько строк вычислений переменных, а потом один селект (или больше одного, но возвращается 1 набор данных). Как это сделать на pl/pgsql, чтобы я мог потом сделать селект этой ф-ии в pgadmin или dbforge studio и увидеть вернувшиеся строки? Для oracle это была бы ф-я, возвращающая sys_refcursor и я бы вызвал её в pl/sql developer типа Код: plsql 1.
Для pl/pgsql ф-я, возвращающая refcursor, мне подойдёт? Это делается через RETURNS TABLE https://www.postgresql.org/docs/13/plpgsql-declarations.html#PLPGSQL-DECLARATION-PARAMETERS Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
и далее select * from функция(параметры); Или через RETURNS SETOF (но это менее гибко-удобно). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1994015]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
23ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 8ms |
total: | 119ms |
0 / 0 |