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

Responder a