När du returnerar SETOF record
utdatakolumnerna är inte skrivna och namngivna. Det här formuläret kan alltså inte användas direkt i en FROM-sats som om det vore en underfråga eller en tabell.
Det vill säga när du utfärdar:
SELECT * from events_by_type_2('social');
vi får det här felet:
Det kan dock "castas" till rätt kolumntyper av SQL-anroparen. Det här formuläret fungerar:
SELECT * from events_by_type_2('social') as (id bigint, name text);
och resulterar i:
id | name ----+---------------- 1 | Dance Party 2 | Happy Hour ...
Av denna anledning SETOF record
anses mindre praktiskt. Den bör endast användas när kolumntyperna för resultaten inte är kända i förväg.