Re: Can you use an array of variables in a function? - Mailing list pgsql-general

From Pavel Stehule
Subject Re: Can you use an array of variables in a function?
Date
Msg-id Pine.LNX.4.44.0412311222360.20600-100000@kix.fsv.cvut.cz
Whole thread Raw
In response to Can you use an array of variables in a function?  ("Frank Millman" <frank@chagford.com>)
List pgsql-general
Hello,
You can use arrays in PL/pgSQL without problems. But You need first
init array on not NULL value.

CREATE OR REPLACE FUNCTION foo(int) RETURNS int AS $$
DECLARE x int[] = '{}';
BEGIN x[1] := $1;
  RETURN x[1];
END; $$ LANGUAGE plpgsql;

regards
Pavel


> Hi all
>
> Is it possible to use an array of variables in a PL/pgSQL function?
>
> Here is a trivial example of what I am trying to do.
>
> ------------------------
> create or replace function fmfunc(int) returns int as '
>   declare
>     _int alias for $1;
>     _ints int[3];
>   begin
>     _ints[1] = _int * 2;
>     _ints[2] = _int * 4;
>     _ints[3] = _int * 8;
>     return _ints[3];
>   end;'
> language 'plpgsql';
> ------------------------
>
> SELECT fmfunc(3) runs without any errors, but it returns null.
>


pgsql-general by date:

Previous
From: "Frank Millman"
Date:
Subject: Can you use an array of variables in a function?
Next
From: Clodoaldo Pinto
Date:
Subject: Re: Postgresql website issues.