Postgresql在2d数组中保存查询结果

时间:2012-05-07 09:31:39

标签: arrays postgresql 2d

我想在函数内部创建2d数组,并使用select语句中的值填充它。我尝试这个代码,最终得到一维数组。我做错了什么?

select array(select a from t a)
=====================================
"{"(1,stxt,varchar)","(2,sint,int)"}"


create or replace function __test(
) returns text
language 'plpgsql' as
$$
declare
  _dat varchar[][];

begin

  _dat = (select array(select a from t a));

  return array_dims(_dat);

end;
$$;


select __test();
===========
"[1:2]"

我期望最后一个命令返回两行三列的[1:2] [1:3]。

1 个答案:

答案 0 :(得分:1)

PostgreSQL只支持一种类型的数组 - 所以你只能采用行数/你不能采用2D数组。现在没有办法做得好。