Em 05-02-2014 17:44, Euler Taveira escreveu:
On 05-02-2014 15:40, Matheus Saraiva wrote:
E se eu quisesse não escrever nenhum WHERE na linha que chama a VIEW?
Algo como:
CREATE VIEW funcionarios_ativos AS SELECT nome, salario FROM
funcionarios WHERE nome = (VALOR SERÁ PASSADO NA CHAMADA DA VIEW);
SELECT * FROM funcionarios_ativos (VALOR QUE SERÁ USADO NO WHERE
ENCAPSULADO);
Como ficaria?
Vejo que você não compreendeu o conceito de visão (leia [1]). Visões são
definidas com consultas e são utilizadas em consultas; funções recebem
parâmetros. A visão pode ser utilizada para restringir os dados a serem
obtidos ou mesmo encapsular uma consulta complexa. Você está pensando de
maneira procedural e não de maneira declarativa.
[1] http://www.postgresql.org/docs/9.3/static/rules-views.html
Pois é, acho que para o que eu quero a solução é mesmo função, view não
tem o recurso de receber paramento em tempo de execução como as funções.
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral