Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Initialize multidimensional array in plpgsql

can someone tell me how to initialize a multidimensional array in plpgsql? Thanks.

like image 250
Moshin Avatar asked Sep 09 '26 02:09

Moshin


2 Answers

CREATE OR REPLACE FUNCTION foo() 
RETURNS text[]
LANGUAGE plpgsql
AS
$$
DECLARE
    var text[][];
BEGIN
    var := array[['1', 'a'],['2', 'b']];
    RETURN var;
END;
$$;

Test:

SELECT foo();
like image 132
Frank Heikens Avatar answered Sep 10 '26 20:09

Frank Heikens


pavel=# select array_fill(0, ARRAY[2,2]);
  array_fill   
───────────────
 {{0,0},{0,0}}
(1 row)

pavel=# select array_fill('a'::text, ARRAY[2,2,2]);
          array_fill           
───────────────────────────────
 {{{a,a},{a,a}},{{a,a},{a,a}}}
(1 row)
like image 42
Pavel Stehule Avatar answered Sep 10 '26 19:09

Pavel Stehule



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!