Newbiee Pls help.....

Started by woowover 14 years ago2 messagesgeneral
Jump to latest
#1woow
ruwanb@gmail.com

I have following function expectation is I want to return the items in array
so....I could call this from another function where I could traverse through
the each array element....

CREATE OR REPLACE FUNCTION get_role_id_list_for_type(INTEGER)
RETURNS INTEGER[] AS $$
DECLARE
rolelist INTEGER [];
BEGIN
SELECT INTO rolelist role_id FROM roles WHERE role_type = $1;
RETURN rolelist;
END;
$$ LANGUAGE 'plpgsql';

But when I call the function it gives following error......

ERROR: array value must start with "{" or dimension information
CONTEXT: PL/pgSQL function "get_role_id_list_for_type" line 4 at select
into variables

Could someone please help.....thanks so much in advance

--
View this message in context: http://postgresql.1045698.n5.nabble.com/Newbiee-Pls-help-tp4647358p4647358.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

#2Jens Wilke
jens@wilke.org
In reply to: woow (#1)
Re: Newbiee Pls help.....

On Freitag, 29. Juli 2011, woow wrote:

I have following function expectation is I want to return the
items in array
SELECT INTO rolelist role_id FROM roles WHERE role_type =
$1; RETURN rolelist;

Hi,

you've to use array_agg:
SELECT INTO rolelist array_agg(role_id) FROM roles WHERE
role_type = $1;

Regards, Jens