Hello,
I am interested in returning complete records (based on existing table
structures) from a function; I know how to deal with record variables
_within_ a function (using PL/PGSQL), but am uncertain as how to instruct
the general CREATE FUNCTION syntax to return a recordset (versus a single
value corresponding to a simple or complex dataype).
My attempts to do so look like the following code (with table "foo"):
CREATE FUNCTION get_newest_foo () RETURNS foo AS ' SELECT * FROM foo
WHERE foo_id = (select MAX(foo_id) FROM foo); ' LANGUAGE 'sql';
this compiles and executes without warnings or exceptions - but this is the
result which I get: jono=> select get_newest_foo (); get_newest_foo ----------- 3393448 (1 row)
I thought that this might be an oid (corresponding to the selected record),
but testing showed that this is not the case.
Any help with this is appreciated; if I am simply overlooking relevant
documentation I'd appreciate being pointed towards the relevant page.
thanks,
Jon