Når du returnerer SETOF record
outputkolonnerne er ikke skrevet og navngivet. Denne formular kan således ikke bruges direkte i en FROM-sætning, som om det var en underforespørgsel eller en tabel.
Det vil sige, når du udsteder:
SELECT * from events_by_type_2('social');
vi får denne fejl:
Det kan dog "castes" til de korrekte kolonnetyper af SQL-kalderen. Denne formular virker:
SELECT * from events_by_type_2('social') as (id bigint, name text);
og resulterer i:
id | name ----+---------------- 1 | Dance Party 2 | Happy Hour ...
Af denne grund SETOF record
anses for mindre praktisk. Det bør kun bruges, når kolonnetyperne for resultaterne ikke er kendt på forhånd.