Binnen uw main_function():
RETURN QUERY SELECT * FROM temp_t;
...als temp_t tabel bestaat uit b.v. column1 (type integer), column2 (boolean) en column3 (varchar(100)), moet u het geretourneerde type ook definiëren als:
CREATE OR REPLACE FUNCTION main_function(column1 OUT integer, column2 OUT boolean, column3 OUT varchar(100)) RETURNS SETOF record AS
(...)
Een andere manier is om een nieuw gegevenstype te definiëren:
CREATE TYPE temp_t_type AS (
column1 integer,
column2 boolean,
column3 varchar(100)
);
Dat type kan door uw functies worden geretourneerd op dezelfde manier als normale gegevenstypen:
CREATE OR REPLACE FUNCTION main_function() RETURNS SETOF temp_t_type AS
(...)
...en retourneer het resultaat van de functie op dezelfde manier als hierboven vermeld.