Re: trouble with setof record return

From: brian <brian(at)zijn-digital(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: trouble with setof record return
Date: 2006-10-05 18:02:57
Message-ID: 452548D1.6010408@zijn-digital.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

A. Kretschmer wrote:
> am Thu, dem 05.10.2006, um 13:17:41 -0400 mailte brian folgendes:
>
>> Can anybody spot the problem with this function? Or, how i'm
>> calling it? (it's not clear to me which it is)
>>
>> CREATE TABLE member ( ... first_name character varying(64),
>> last_name character varying(64), organisation character
>> varying(128), email character varying(128), ... );
>>
>>
>
>
> first error:
>
>
>> CREATE OR REPLACE FUNCTION fetcOnlineContacts() RETURNS SETOF
>> record
>
> ^^^^^^^^^^^^^^^^^^
>
>> test=# SELECT * FROM fetchOnlineContacts() AS (name text,
>> organisation
>
> ^^^^^^^^^^^^^^^^^^^
>
> fetcOnlineContacts != fetchOnlineContacts
>

Yes, typo in email.

> But, this isn't the problem, i get the same error. And, i have a
> solution for you:
>
> CREATE OR REPLACE FUNCTION fetcOnlineContacts(OUT name text, out
> organisation text, out email text) RETURNS SETOF record AS $$
>
> DECLARE
>
> member_contact record;
>
> BEGIN
>
> FOR member_contact IN EXECUTE 'SELECT DISTINCT ON (m.email)
> m.first_name || '' '' || m.last_name AS name, m.organisation, m.email
> AS address FROM member AS m WHERE m.email IS NOT NULL ORDER BY
> m.email, m.last_name, m.organisation ASC' LOOP name :=
> member_contact.name; organisation := member_contact.organisation;
> email := member_contact.address; RETURN NEXT; END LOOP;
>
> RETURN;
>
> END; $$ LANGUAGE plpgsql IMMUTABLE;
>
>
> I hope, you have PG 8.1, this (with the OUT-parameter), is a feature
> since 8.1.
>
> Perhaps, there are other solutions...
>
> Andreas

Indeed. Thanks, Andreas, Bricklen, & Joe, for the quick response. I'm
going to go with this one, i think.

b

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Brian J. Erickson 2006-10-05 19:50:38 Re: PostgreSQL Database Transfer between machines(again)
Previous Message DEV 2006-10-05 17:47:33 Re: Storing images in PostgreSQL databases (again)