it-swarm.it

Passare un array o un record a una funzione in PostgreSQL?

Ho il compito di passare array, record e in alcuni casi array di record come parametro per le funzioni in PostgreSQL.

15
Worker

Postgres ha una gestione molto flessibile di array e tipi compositi . Questo potrebbe essere il tipo di cosa che stai cercando di fare:

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 --- (qui