Thread: How does one impolement lists, or arrays, pin pl/pgsql ?

How does one impolement lists, or arrays, pin pl/pgsql ?

From
"Gauthier, Dave"
Date:

How does one implement a simple, general purpose, assignable array (or list) in pl/pgsql?  From what I’ve found/read, it appears that you can declare static, read-only arrays.  I’m guessing (and please correct if I’m wrong), PG does not support modifyable arrays.  Rather, one might consider defining a temporary table and using sql to insert/select to/from it.  True?

 

 

Re: How does one impolement lists, or arrays, pin pl/pgsql ?

From
"Pavel Stehule"
Date:
Hello

PostgreSQL supports modifyable arrays. You have to respect some
specific (depend on version of postgresql). Array have to be
initialised (filled) for all  pg versions older than 8.2.

create or replace function foo()
returns int as $$
declare a int[] = '{0,0,0,0,0,0,0,0,0,0}';  -- inicialisation need for
versions < 8.2.
begin a[4] := 10; a[8] := 10;
raise notice '%', a;
return a[4];
end$$ language plpgsql;

Regards
Pavel Stehule




2007/6/29, Gauthier, Dave <dave.gauthier@intel.com>:
>
>
>
>
> How does one implement a simple, general purpose, assignable array (or list)
> in pl/pgsql?  From what I've found/read, it appears that you can declare
> static, read-only arrays.  I'm guessing (and please correct if I'm wrong),
> PG does not support modifyable arrays.  Rather, one might consider defining
> a temporary table and using sql to insert/select to/from it.  True?
>
>
>
>