it-swarm-eu.dev

Předat pole nebo záznam funkci v PostgreSQL?

Mám úkol předávat pole, záznamy a v některých případech řadu záznamů jako parametr pro funkce v PostgreSQL.

15
Worker

Postgres má velmi flexibilní zpracování polí a složené typy . Toto může být něco, co se snažíte udělat:

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

dbfiddle --- (zde