powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как получить имя составного типа переменной, возвращаемой функцией в RETURNS TABLE
6 сообщений из 6, страница 1 из 1
Как получить имя составного типа переменной, возвращаемой функцией в RETURNS TABLE
    #39254621
shaposh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходим запрос, который по
имени функции (accounting.rep01_result)
и имени одной из возвращаемых переменных (res)
вернет имя типа этой переменной - т.е. 'rep01_result_type'
Куда копать?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE OR REPLACE FUNCTION accounting.rep01_result
(
  IN  in_date_begin         timestamp WITHOUT TIME ZONE,
  IN  in_date_end           timestamp WITHOUT TIME ZONE,
  IN  in_org_uuid           uuid,
  IN  in_org_with_children  boolean,
  IN  in_user_uuid          uuid                       
)
RETURNS TABLE 
(
  doc  accounting.type_main_list_result,
  res  accounting.rep01_result_type
)
AS
...
Рейтинг: 0 / 0
Как получить имя составного типа переменной, возвращаемой функцией в RETURNS TABLE
    #39254642
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shaposhНеобходим запрос, который по
имени функции (accounting.rep01_result)
и имени одной из возвращаемых переменных (res)
вернет имя типа этой переменной - т.е. 'rep01_result_type'
Куда копать?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE OR REPLACE FUNCTION accounting.rep01_result
(
  IN  in_date_begin         timestamp WITHOUT TIME ZONE,
  IN  in_date_end           timestamp WITHOUT TIME ZONE,
  IN  in_org_uuid           uuid,
  IN  in_org_with_children  boolean,
  IN  in_user_uuid          uuid                       
)
RETURNS TABLE 
(
  doc  accounting.type_main_list_result,
  res  accounting.rep01_result_type
)
AS



Вы задаете одни и те же вопросы. Копать в ДОКУМЕНТАЦИЮ.
https://www.postgresql.org/docs/9.5/static/catalogs.html
Начиная с https://www.postgresql.org/docs/9.5/static/catalog-pg-proc.html
и далее к https://www.postgresql.org/docs/9.5/static/catalog-pg-type.html.

PS: вы что PgAdmin пишете чтоли с нуля очередной?

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Как получить имя составного типа переменной, возвращаемой функцией в RETURNS TABLE
    #39254647
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще полезно
pg_get_function_result(func_oid) text get RETURNS clause for function

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Как получить имя составного типа переменной, возвращаемой функцией в RETURNS TABLE
    #39254651
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,

На 9.5+ достаточно коротко делается

Код: plaintext
1.
2.
3.
4.
5.
with _t as (select * from pg_proc where proname='pg_stat_statements')
select oid, typname from pg_type where oid=(select proallargtypes[array_position(proargnames, 'shared_blks_hit')] from _t);
 oid | typname
-----+---------
  20 | int8

На более ранних версиях надо самостоятельный велосипед делать для array_position.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Как получить имя составного типа переменной, возвращаемой функцией в RETURNS TABLE
    #39254674
shaposh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PS: вы что PgAdmin пишете чтоли с нуля очередной?

Да Боже упаси....
Просто привык подписи колонок сетки данных брать из базы.
...
Рейтинг: 0 / 0
Как получить имя составного типа переменной, возвращаемой функцией в RETURNS TABLE
    #39254675
shaposh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
За ссылки - отдельное спасибо
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как получить имя составного типа переменной, возвращаемой функцией в RETURNS TABLE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]