Eu tenho um banco de dados com vários esquemas que possuem as mesmas tabelas e visualizações e quero criar um procedimento que crie uma visualização a partir de uma das visualizações do esquema.
CREATE OR REPLACE FUNCTION create_summary_view(
created_view character varying,
common_view character varying,
schema_1 character varying,
schema_2 character varying,
schema_3 character varying,
...
schema_x character varying,
)
create_view
é a visualização que será criada, common_view
é a visualização idêntica em todos os esquemas e schema_x
é a lista de esquemas cujos common_view
s estão sendo unidos created_view
.
O pl/pgsql possui uma sintaxe para indicar um número variável de parâmetros? created_view
, common_view
e pelo menos one schema_x
é necessário?
Estou considerando uma alternativa para passar uma string separada por vírgula ou espaço dos esquemas e usá-la regexp_split_to_array
para separá-la, mas seria bom saber que argumentos de comprimento variável são possíveis.
Crie uma função variada como esta:
Aqui está uma invocação: