Wewnątrz funkcji main_function():
RETURN QUERY SELECT * FROM temp_t;
...jeśli tabela temp_t składa się m.in. column1 (typ integer), column2 (boolean) i column3 (varchar(100)), należy również zdefiniować zwracany typ jako:
CREATE OR REPLACE FUNCTION main_function(column1 OUT integer, column2 OUT boolean, column3 OUT varchar(100)) RETURNS SETOF record AS
(...)
Innym sposobem jest zdefiniowanie nowego typu danych:
CREATE TYPE temp_t_type AS (
column1 integer,
column2 boolean,
column3 varchar(100)
);
Ten typ może zostać zwrócony przez Twoje funkcje w taki sam sposób, jak zwykłe typy danych:
CREATE OR REPLACE FUNCTION main_function() RETURNS SETOF temp_t_type AS
(...)
...i zwróć wynik z funkcji w taki sam sposób, jak wspomniano powyżej.