Thread: working with multidimensional arrays in plpgsql
hello everyone i am having problem with multidimensional arrays in plpgsql following is the source code of the function which i am trying to run CREATE OR REPLACE FUNCTION test() RETURNS VOID AS $$ DECLARE x INTEGER[10][10]; tmp VARCHAR(40); BEGIN x[3][1] := '20'; ------i have even tried x[3][1] = 20 tmp := x[3][1]; RAISE NOTICE '%', tmp; RETURN; END; $$LANGUAGE 'plpgsql'; As you might have observed here, the actual problem is how to do assignment to multidimensional array locations using the subscript operater. Thank you
Sibtay Abbas wrote: > hello everyone > > i am having problem with multidimensional arrays in plpgsql following > is the source code of the function which i am trying to run > DECLARE > x INTEGER[10][10]; > x[3][1] := '20'; ------i have even tried x[3][1] = 20 > As you might have observed here, the actual problem is > how to do assignment to multidimensional array locations using the > subscript operater. Actually, the problem is that the array "x" has been initialised to NULL. Therefore, you can't set individual values. Try a line like: x := '{}'; -- Richard Huxton Archonet Ltd
thank you very much for your reply I did as you specified and it worked fine thankz :) On Wed, 26 Jan 2005 09:29:53 +0000, Richard Huxton <dev@archonet.com> wrote: > Sibtay Abbas wrote: > > hello everyone > > > > i am having problem with multidimensional arrays in plpgsql following > > is the source code of the function which i am trying to run > > > > DECLARE > > x INTEGER[10][10]; > > > x[3][1] := '20'; ------i have even tried x[3][1] = 20 > > > As you might have observed here, the actual problem is > > how to do assignment to multidimensional array locations using the > > subscript operater. > > Actually, the problem is that the array "x" has been initialised to > NULL. Therefore, you can't set individual values. Try a line like: > x := '{}'; > > -- > Richard Huxton > Archonet Ltd >
Sibtay, > As you might have observed here, the actual problem is > how to do assignment to multidimensional array locations using the > subscript operater. Maybe post your results, too? -- Josh Berkus Aglio Database Solutions San Francisco