Inuti din main_function():
RETURN QUERY SELECT * FROM temp_t;
...om temp_t-tabellen består av t.ex. kolumn1 (typ heltal), kolumn2 (boolean) och kolumn3 (varchar(100)), bör du också definiera returnerad typ som:
CREATE OR REPLACE FUNCTION main_function(column1 OUT integer, column2 OUT boolean, column3 OUT varchar(100)) RETURNS SETOF record AS
(...)
Ett annat sätt är att definiera ny datatyp:
CREATE TYPE temp_t_type AS (
column1 integer,
column2 boolean,
column3 varchar(100)
);
Den typen kan returneras av dina funktioner på samma sätt som vanliga datatyper:
CREATE OR REPLACE FUNCTION main_function() RETURNS SETOF temp_t_type AS
(...)
...och returnera resultat från funktionen på samma sätt som nämnts ovan.