Re: Array as parameter in plpgSQL functions - Mailing list pgsql-sql

From Christopher Sawtell
Subject Re: Array as parameter in plpgSQL functions
Date
Msg-id 01030121415800.31527@berty
Whole thread Raw
In response to Re: Array as parameter in plpgSQL functions  (Jie Liang <jliang@ipinc.com>)
List pgsql-sql
On Thu, 01 Feb 2001 09:47, Jie Liang wrote:
> e.g.
>
> create function foo(_int4) returns int2 as'
> declare
> a _int4 alias for $1;
> i int:=1;
> begin
> while a[i] loop
> i:=i+1;
> end loop;
> return i-1;
> end;
> ' language 'plpgsql';
>
> you can call it by:
>
> select foo('{1232131,12312321,3424234}');
>
> you should get 3.

In order to get it to work I had to alter it very slightly vis:-

chris=# create function array_element_count(_int4) returns integer as '
chris'#  declare
chris'#   a alias for $1;
chris'#   i integer;
chris'#  begin
chris'#   i := 1;
chris'#   while a[i] loop
chris'#    i := i+1;
chris'#   end loop;
chris'#  return i-1;
chris'#  end;' language 'plpgsql' with(isstrict,iscachable);
CREATE
chris=# select 
array_element_count('{59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,8
7}');array_element_count
---------------------                 29
(1 row)
  
 

-- 
Sincerely etc.,
NAME       Christopher SawtellCELL PHONE 021 257 4451ICQ UIN    45863470EMAIL      csawtell @ xtra . co . nzCNOTES
ftp://ftp.funet.fi/pub/languages/C/tutorials/sawtell_C.tar.gz
-->> Please refrain from using HTML or WORD attachments in e-mails to me 
<<--



pgsql-sql by date:

Previous
From: "Oliver Elphick"
Date:
Subject: Re: int2+float8 problems
Next
From: Blaise Carrupt
Date:
Subject: BufTableDelete: BufferLookup table corrupted