powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Работа с составными типами в процедурах. Вопросы находятся в функции example.test2
4 сообщений из 4, страница 1 из 1
Работа с составными типами в процедурах. Вопросы находятся в функции example.test2
    #39252462
shaposh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CREATE SCHEMA example AUTHORIZATION postgres;
CREATE TYPE example.composite_type AS (a INTEGER, b INTEGER, c INTEGER);

CREATE OR REPLACE FUNCTION example.test1 ()
RETURNS TABLE (result example.composite_type) AS
$body$
BEGIN
result = (1, 2, 3); return next;
result = (10, 20, 30); return next;
result = (100, 200, 300); return next;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100 ROWS 1000;

CREATE OR REPLACE FUNCTION example.test2 ()
RETURNS TABLE (result example.composite_type) AS
$body$
BEGIN
-- Вопрос 1: Как обратиться по имени к example.test1().result
for result in select sp.result from example.test1() sp
loop
return next;
end loop;

-- Вопрос 2: Что нужно сделать чтобы заработал такой сумматор
select into result select sum(result) from example.test1()
return next;

-- Заранее спасибо

END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100 ROWS 1000;
...
Рейтинг: 0 / 0
Работа с составными типами в процедурах. Вопросы находятся в функции example.test2
    #39252482
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shaposh,

1)
Код: sql
1.
SELECT f.a, f.b, f.c FROM example.test1() AS f;

или
Код: sql
1.
SELECT f FROM example.test1() AS f;

в зависимости от того что вам нужно.

2) писать свой sum(example.composite_type), который будет знать как сумировать ваш композит.
...
Рейтинг: 0 / 0
Работа с составными типами в процедурах. Вопросы находятся в функции example.test2
    #39252708
shaposh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО
по поводу писать свой sum(example.composite_type), который будет знать как сумировать ваш композит
можно ссылку на документацию?
...
Рейтинг: 0 / 0
Работа с составными типами в процедурах. Вопросы находятся в функции example.test2
    #39252729
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Работа с составными типами в процедурах. Вопросы находятся в функции example.test2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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