Инициализировать многомерный массив в plpgsql - PullRequest
2 голосов
/ 02 марта 2011

Может кто-нибудь сказать мне, как инициализировать многомерный массив в plpgsql? Спасибо.

Ответы [ 2 ]

9 голосов
/ 02 марта 2011
CREATE OR REPLACE FUNCTION foo() 
RETURNS text[]
LANGUAGE plpgsql
AS
$$
DECLARE
    var text[][];
BEGIN
    var := array[['1', 'a'],['2', 'b']];
    RETURN var;
END;
$$;

Тест:

SELECT foo();
1 голос
/ 09 марта 2011
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)
...