Postgresql正在将参数定义从text [] []更改为text []

问题描述 投票:1回答:1

我正在创建一个像

create function a(layers_groups text[][]) returns void as
  $$
  ...
  $$ language plpgsql

当我执行脚本postgresql正在将参数定义更改为

create function a(layers_groups text[]) returns void as
      $$
      ...
      $$ language plpgsql

任何人都知道为什么会这样。提前致谢。

postgresql
1个回答
0
投票

我正在做一些研究,它就像@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
© www.soinside.com 2019 - 2024. All rights reserved.