plpgsql : looping over multidimensional array : getting NULL for subdimension

From: Vinicio Nocciolini <vnocciolini(at)mbigroup(dot)it>
To: pgsql-general(at)postgresql(dot)org
Subject: plpgsql : looping over multidimensional array : getting NULL for subdimension
Date: 2013-06-06 14:44:36
Message-ID: 51B0A054.40603@mbigroup.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Use array_upper(aList, 2);
see the example, maybe can help u

CREATE OR REPLACE FUNCTION
xxx(
aList varchar[][])
returns TEXT as '
declare
myUpper1 integer;
myUpper2 integer;

myRet varchar := '''';
begin
myUpper1 := array_upper(aList, 1);
IF myUpper1 IS NULL THEN
myUpper1 := 0;
END IF;
myUpper2 := array_upper(aList, 2);
IF myUpper2 IS NULL THEN
myUpper2 := 0;
END IF;

FOR i in 1 .. myUpper1 LOOP
FOR k in 1 .. myUpper2 LOOP
myRet := myRet || aList[i][k];
END LOOP;
myRet := myRet || ''_'';
END LOOP;

RETURN myRet;
end;
'
LANGUAGE 'plpgsql';

In response to

Browse pgsql-general by date

  From Date Subject
Next Message François Beausoleil 2013-06-06 15:40:13 User postgres unable to revoke privileges?
Previous Message David Johnston 2013-06-06 14:23:45 Re: Function use in query