powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Таблица из функции
8 сообщений из 8, страница 1 из 1
Таблица из функции
    #35045636
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица (A,B,C)

Подскажите прмиер функции что выдал мне всю таблицу

Что-то типо select * from table

Только что б я вызывал функцию
...
Рейтинг: 0 / 0
Таблица из функции
    #35045765
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как-то через for in loop
выводится
+ хтелось бы еще свои колонки добавить
...
Рейтинг: 0 / 0
Таблица из функции
    #35046314
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ что никто не может подсказать?

В оркале порсто создаешь типы
Потом pipe row
А как уту такое сделать?
...
Рейтинг: 0 / 0
Таблица из функции
    #35046333
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поиск по setof
...
Рейтинг: 0 / 0
Таблица из функции
    #35046478
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А подробнее можно?
...
Рейтинг: 0 / 0
Таблица из функции
    #35046525
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во что-то нашел
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE OR REPLACE FUNCTION "Data"."xx" () RETURNS SETOF "Data"."Func" AS
$body$
declare 
 x "Data"."Type1"%rowtype;
begin
 for x in select * from "Data"."Table" LOOP
  return next x;
 END LOOP;
RETURN;
END;
$body$
LANGUAGE 'plpgsql' IMMUTABLE CALLED ON NULL INPUT SECURITY INVOKER;

Но у меня в Type есть еще 1 колонка которой нет в Table
Как вывести ее?
...
Рейтинг: 0 / 0
Таблица из функции
    #35046539
Quiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вывести ее?

Код: plaintext
1.
2.
3.
4.
5.
 for x in select *, 0 ::[TYPE] as col1 from "Data"."Table" LOOP
  x.col1:= ... ;
  return next x;
 END LOOP;
RETURN;
...
Рейтинг: 0 / 0
Таблица из функции
    #35047295
SeniorAndre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример, вчера делал... Главное явно указать выходной тип..., а далее как в доке...
Код: plaintext
1.
2.
3.
CREATE TYPE ctu_customer_list AS
   (customerid character( 14 ),
    parentid character( 14 ));
ALTER TYPE ctu_customer_list OWNER TO postgres;
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
CREATE OR REPLACE FUNCTION cur_customer_list(pc_customerid bpchar)
  RETURNS SETOF ctu_customer_list AS
$BODY$  DECLARE c_customerid CHAR( 14 );
  DECLARE c_parentid CHAR( 14 );
BEGIN 

c_customerid:=pc_customerid;


SELECT CustomerID, ParentID INTO c_customerid, c_parentid FROM customer 
	WHERE CustomerID=c_customerid;
IF FOUND THEN
	--Записываем в результат главную фирму
        RETURN QUERY SELECT CustomerID, ParentID FROM customer 
                WHERE CustomerID=c_customerid;
        RETURN QUERY SELECT CustomerID, ParentID FROM customer 
                WHERE ParentID=c_customerid;
END IF;
RETURN;
END
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Таблица из функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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