On 19/8/05 4:38 pm, "Nigel Horne" <njh@xxxxxxxxxxxxxx> wrote: > On Fri, 2005-08-19 at 16:30, Adam Witney wrote: >>> I can't work out from that how to return more than one value. >> >> Hi Nigel, >> >> Add SETOF to your function like so: >> >> CREATE TABLE test (id int); >> INSERT INTO test VALUES(1); >> INSERT INTO test VALUES(2); >> >> CREATE FUNCTION test_func() RETURNS SETOF integer AS ' >> SELECT id FROM test; >> ' LANGUAGE SQL; > > What if one value I want to return is an integer, and another one is a > string? Ah you want to return a record I suppose? CREATE TABLE test (id int, name text); INSERT INTO test VALUES(1, 'me'); INSERT INTO test VALUES(2, 'you'); CREATE FUNCTION test_func() RETURNS SETOF record AS ' SELECT id, name FROM test; ' LANGUAGE SQL; SELECT * FROM test_func() AS (id int, name text); id | name ----+------ 1 | me 2 | you Cheers Adam -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly