|
Написать функцию, возвращающую набор данных.
|
|||
---|---|---|---|
#18+
Решил переделать View в функцию, принимающую параметры. Т.е. будет сначала несколько строк вычислений переменных, а потом один селект (или больше одного, но возвращается 1 набор данных). Как это сделать на pl/pgsql, чтобы я мог потом сделать селект этой ф-ии в pgadmin или dbforge studio и увидеть вернувшиеся строки? Для oracle это была бы ф-я, возвращающая sys_refcursor и я бы вызвал её в pl/sql developer типа Код: plsql 1.
Для pl/pgsql ф-я, возвращающая refcursor, мне подойдёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2021, 15:50 |
|
Написать функцию, возвращающую набор данных.
|
|||
---|---|---|---|
#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 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2021, 16:36 |
|
|
start [/forum/topic.php?fid=53&msg=40073596&tid=1994015]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 264ms |
total: | 397ms |
0 / 0 |