在 plpgsql 中初始化多维数组

3

请问有人可以告诉我如何在 plpgsql 中初始化多维数组吗?谢谢。

3个回答

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

这个能在DECLARE部分作为默认值吗?(例如 DECLARE var TEXT[][] := array[['1', 'a'],['2','b']]; - undefined

1
嗨!你好!有什么我可以帮助你的吗?

0

相关帖子:PostgreSQL: 错误:数组下标超出范围

示例: DO $$ declare aa integer[][]; begin
aa := array_fill(0, array[5,3]); raise notice '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;
end; $$


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接