我正在创建像
这样的功能create function a(layers_groups text[][]) returns void as
$$
...
$$ language plpgsql
当我执行脚本时,postgresql正在将参数定义更改为
create function a(layers_groups text[]) returns void as
$$
...
$$ language plpgsql
任何人都知道为什么会这样。提前谢谢。
答案 0 :(得分:0)
我正在做一些研究,它就像来自postgresql docs的@a_horse_with_no_name引用。我相信基于我的测试,postgresql存储和处理来自n维的数组,就像从1维一样。这些是我的测试。
create or REPLACE FUNCTION f(d text[][]) returns void as
$$
DECLARE
g text;
BEGIN
raise notice '%',d[1][1];
raise notice 'Array iteration'
FOREACH g in ARRAY d LOOP
raise notice '%',g;
END LOOP;
END;
$$ LANGUAGE plpgsql;
select f('{{1,2},{3,4}}')
控制台输出:
1
Array iteration
1
2
3
4