Обсуждение: Stored function - send array as parameter to stored function
Hi,
I'm new here
I've been doing a little self-learning about postgresql
and find it very interesting
I've been trying to create a stored procedure that receive array as
parameter and find a good and working example on the web
the code looks like this
create or replace function iterate(a int[])
returns void as $$
begin
for i in array_lower(a,1)..arry_upper(a,1) loop
raise notice '%', a[i];
end loop;
end;
$$ language plpgsql strict;
my problem is, how should I call this function?
I tried
select iterate(1,2)
select iterate([1,2])
select iterate({1,2})
none of them are working
how is it really to call this function
Thank you
Hendra
Yes, this one got me, also. Strangely, you need to do:
select iterate('{1,2}');
Also, you have a typo in your function: arry_upper(a,1)
b
hendra kusuma wrote:
> Hi,
> I'm new here
> I've been doing a little self-learning about postgresql
> and find it very interesting
>
> I've been trying to create a stored procedure that receive array as
> parameter and find a good and working example on the web
>
> the code looks like this
>
> create or replace function iterate(a int[])
> returns void as $$
> begin
> for i in array_lower(a,1)..arry_upper(a,1) loop
> raise notice '%', a[i];
> end loop;
> end;
> $$ language plpgsql strict;
>
> my problem is, how should I call this function?
> I tried
> select iterate(1,2)
> select iterate([1,2])
> select iterate({1,2})
> none of them are working
>
> how is it really to call this function
>
> Thank you
> Hendra
>
brian <brian@zijn-digital.com> writes:
> Yes, this one got me, also. Strangely, you need to do:
> select iterate('{1,2}');
In reasonably modern versions of PG you could use an array constructor:
select iterate(array[1,2,3]);
regards, tom lane