Re: Selecting from table into an array var - Mailing list pgsql-general

From Merlin Moncure
Subject Re: Selecting from table into an array var
Date
Msg-id b42b73150912182153v76ccc07frb5322e05bbef9d9c@mail.gmail.com
Whole thread Raw
In response to Re: Selecting from table into an array var  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: Selecting from table into an array var  (Postgres User <postgres.developer@gmail.com>)
List pgsql-general
On Fri, Dec 18, 2009 at 11:35 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> 2009/12/19 Postgres User <postgres.developer@gmail.com>:
>> Hi,
>>
>> I'm trying to write a very simple function statement to select a
>> single integer field from a table and save it into an int array. For
>> some reason I can't seem to find the correct syntax:
>>
>> CREATE TABLE sample (
>>    id  integer
>> );
>>
>> and then within a function:
>>
>> my_array int[];
>> my_array = SELECT ARRAY(id) FROM sample;
>>
>>
>> This syntax and variations of it don't work.  Can anyone show me the
>> correct approach?
>>
>
> Hello
>
> please try SELECT ARRAY(SELECT id FROM sample) or SELECT array_agg(id)
> FROM sample - if you have 8.4

yup:

array() vs array_agg() vs array[]...which to use?

*) use array[] when building list of scalar values
*) use array_agg when aggregating (you need to group by something)
*) use array() everywhere else

merlin

pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Selecting from table into an array var
Next
From: Scott Marlowe
Date:
Subject: Re: PL/Perl Performance Problems