Re: Passing array to PL/SQL and looping - Mailing list pgsql-sql

From Josh Berkus
Subject Re: Passing array to PL/SQL and looping
Date
Msg-id web-1731886@davinci.ethosmedia.com
Whole thread Raw
In response to Passing array to PL/SQL and looping  (Peter Atkins <peter.atkins@NXCD.com>)
Responses Re: Passing array to PL/SQL and looping  (Ian Barwick <barwick@gmx.net>)
List pgsql-sql
Greg,

> CREATE FUNCTION test_array( ) RETURNS VARCHAR[] AS '
> DECLARE 
>     return_array VARCHAR[];
> BEGIN
>     return_array[0] := ''test'';
>     return_array[1] := ''test 1'';
>     return_array[2] := ''test 2'';
> RETURN (return_array);
> END;'
> LANGUAGE 'plpgsql';

No, it's not possible to do the above.   This is a flaw in the current
implementation of PL/pgSQL that will not be resolved until we attract
some new Postgres hackers who really care about upgrading PL/pgSQL.

Currently, if you want to use an array, it has to be passed as a
parameter, or come from an external table.   You cannot declare an
Array data type.  Annoying, really.

-Josh Berkus


pgsql-sql by date:

Previous
From: "Josh Berkus"
Date:
Subject: Re: Date/Time types
Next
From: Jean-Luc Lachance
Date:
Subject: Re: Dublicates pairs in a table.