我正在创建一个像
create function a(layers_groups text[][]) returns void as
$$
...
$$ language plpgsql
当我执行脚本postgresql正在将参数定义更改为
create function a(layers_groups text[]) returns void as
$$
...
$$ language plpgsql
任何人都知道为什么会这样。提前致谢。
我正在做一些研究,它就像@a_horse_with_no_name引用postgresql文档。我相信基于我的测试,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