Re: Unexpected Return from Function - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: Unexpected Return from Function
Date
Msg-id 20011201182212.R74581-100000@megazone23.bigpanda.com
Whole thread Raw
In response to Unexpected Return from Function  ("Anthony Bouvier" <anthony@developware.com>)
Responses Re: Unexpected Return from Function
List pgsql-sql
On Sat, 1 Dec 2001, Anthony Bouvier wrote:

> I have a FUNCTION:
>
> CREATE FUNCTION get_responsible(text)
> RETURNS TEXT AS '
> DECLARE
>   responsible_list text;
>   my_record RECORD;
> BEGIN
>   FOR my_record IN SELECT login FROM employee WHERE id IN (1,2) LOOP
>     responsible_list := responsible_list || '', '' my_record.login;
>   END LOOP;
>   RETURN responsible_list;
> END;
> ' LANGUAGE 'plpgsql';
>
> The employee table is such:
>
> id | login
> -------------
> 1  | anthony
> 2  | mary
> -------------
>
> I expect the SQL statement "SELECT get_responsible('1,2')" to return
> something like so:
>
> get_responsible
> ---------------
> anthony, mary
> ---------------
>
> But instead I receive:
>
> get_responsible
> ---------------
>
> ---------------

You probably need to initialize responsible_list to an empty string.
My guess is that it starts NULL and NULL concatenated with anything
is still NULL.



pgsql-sql by date:

Previous
From: "Anthony Bouvier"
Date:
Subject: Unexpected Return from Function
Next
From: "Megalex"
Date:
Subject: problems with single quotes..