Вопрос

У меня есть задача передавать массивы, записи и в некоторых случаях массив записей в качестве параметра для функций в PostgreSQL.

Это было полезно?

Решение

Postgres имеет очень гибкую обработку массивы а также составные типы. Анкет Это может быть то, что вы пытаетесь сделать:

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 здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top