将数组或记录传递给 PostgreSQL 中的函数?

Wor*_*ker 17 postgresql functions array postgresql-9.0 composite-types

我有一项任务是将数组、记录以及在某些情况下的记录数组作为参数传递给 PostgreSQL 中的函数。

Jac*_*las 22

Postgres 非常灵活地处理数组复合类型。这可能是您正在尝试做的事情:

create type my_type as (val1 integer, val2 integer);
Run Code Online (Sandbox Code Playgroud)
create function my_function(arr my_type[]) returns text language plpgsql as $$
begin
  return arr::text;
end;$$;
Run Code Online (Sandbox Code Playgroud)
select my_function(array[row(1,2),row(3,4)]::my_type[]);
Run Code Online (Sandbox Code Playgroud)
| my_function |
| :---------------- |
| {"(1,2)","(3,4)"} |

dbfiddle在这里