postgresql 在PLPGSQL中初始化多维数组

jvidinwx  于 12个月前  发布在  PostgreSQL
关注(0)|答案(3)|浏览(125)

如何在plpgsql中初始化一个多维数组?

qcbq4gxm

qcbq4gxm1#

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();

2ledvvac

2ledvvac2#

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)

字符串

mqkwyuun

mqkwyuun3#

相关文章:PostgreSQL: ERROR: array subscript out of range
示例:DO $$ declare aa integer[][];开始
aa:= array_fill(0,array[5,3]);引发通知'aa:%',aa;
for c1 in 1..5 loop for c2 in 2..3 loop aa[c1][c2]:= c1*c2; end loop; end loop; raise notice 'aa:%',aa;
结束; $$

相关问题