Bij het retourneren van SETOF record
de uitvoerkolommen zijn niet getypt en hebben geen naam. Dit formulier kan dus niet rechtstreeks in een FROM-component worden gebruikt alsof het een subquery of een tabel is.
Dat wil zeggen, bij het uitgeven:
SELECT * from events_by_type_2('social');
we krijgen deze foutmelding:
Het kan echter door de SQL-aanroeper in de juiste kolomtypen worden "gegoten". Dit formulier werkt:
SELECT * from events_by_type_2('social') as (id bigint, name text);
en resulteert in:
id | name ----+---------------- 1 | Dance Party 2 | Happy Hour ...
Om deze reden SETOF record
wordt als minder praktisch beschouwd. Het mag alleen worden gebruikt als de kolomtypen van de resultaten niet van tevoren bekend zijn.