On 19/8/05 4:38 pm, "Nigel Horne" <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly