Estou vendo um jeito de facilitar e tornar rápidas minhas consultas através
de views.
Não queria deixar elas fixas, por exemplo:
CREATE OR REPLACE VIEW v_paciente AS SELECT paciente.pacnome FROM paciente;
Gostaria de passar parâmetros e ela montar a view.
Tentei fazer usando function da seguinte maneira:
CREATE OR REPLACE FUNCTION consulta(campos text, tabela text, chave text, id
integer)
RETURNS void AS
$BODY$
BEGIN
EXECUTE 'CREATE VIEW consulta AS SELECT ' || campos || '
FROM ' || tabela || ' WHERE ' || chave || ' = ' || id;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
Se chamo a Function passando os parâmetros: select
consulta('pacnome','paciente','paccod',1)
É criada a seguinte view:
CREATE OR REPLACE VIEW consulta AS
SELECT paciente.pacnome
FROM paciente
WHERE paciente.paccod = 1;
Sendo assim se um outro usuário chamar a função consulta com outros
parâmetros a view irá mudar.
Gostaria de saber se existe um jeito de chamar uma view com parâmetros, ou
algo parecido. Ou alguma dica.
Mto obrigado
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral