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