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

Started by Gauthier, Davealmost 19 years ago2 messagesgeneral
Jump to latest
#1Gauthier, 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?

#2Pavel Stehule
pavel.stehule@gmail.com
In reply to: Gauthier, Dave (#1)
Re: How does one impolement lists, or arrays, pin pl/pgsql ?

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>:

Show quoted text

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?