Возвращаемый тип функции SQL: TABLE vs SETOF records
В чем разница между функцией, которая возвращаетTABLE
противSETOF records
при прочих равных.
CREATE FUNCTION events_by_type_1(text) RETURNS TABLE(id bigint, name text) AS $
SELECT id, name FROM events WHERE type = $1;
$ LANGUAGE SQL STABLE;
CREATE FUNCTION events_by_type_2(text) RETURNS SETOF record AS $
SELECT id, name FROM events WHERE type = $1;
$ LANGUAGE SQL STABLE;
Эти функции, похоже, возвращают одинаковые результаты. Видеть этоSQLFiddle.