Обсуждение: How to loop though an array plpgsql?

Поиск
Список
Период
Сортировка

How to loop though an array plpgsql?

От
Matthew Schumacher
Дата:
I need to loop though an input array, but can't figure out how to do it,
the docs aren't really clear on this.

Something like this:

CREATE FUNCTION update (_id INTEGER[])
RETURNS VOID AS
$$
BEGIN
 FOR i IN SELECT _id LOOP   INSERT INTO table VALUES (_id[i]); END LOOP;

END;
$$
LANGUAGE plpgsql;

Anyone know the correct loop syntax?

schu


Re: How to loop though an array plpgsql?

От
Michael Fuhr
Дата:
On Fri, Jul 29, 2005 at 03:39:12PM -0800, Matthew Schumacher wrote:
> I need to loop though an input array, but can't figure out how to do it,
> the docs aren't really clear on this.

This comes up from time to time -- search the archives to see past
discussion.  Suggestions usually involve array_lower() and array_upper().

http://archives.postgresql.org/
http://www.postgresql.org/docs/8.0/static/functions-array.html

If you're using integers then see also the int_array_enum() function
in the contrib/intagg module.

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/