web-dev-qa-db-fra.com

Passer un tableau ou un enregistrement à une fonction dans PostgreSQL?

J'ai la tâche de transmettre des tableaux, des enregistrements et, dans certains cas, un tableau d'enregistrements en tant que paramètre aux fonctions de PostgreSQL.

15
Worker

Postgres a une gestion très flexible de tableaux et types composites . C'est peut-être le genre de chose que vous essayez de faire:

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[]);
 | ma_fonction | 
 | : ------------- | {"(1,2)", "(3,4)"} | 

dbfiddle --- (ici