Em 5 de fevereiro de 2014 16:40, Matheus Saraiva <matheus.sara...@gmail.com>escreveu:
> Em 05-02-2014 12:54, Euler Taveira escreveu: > > On 05-02-2014 11:32, Matheus Saraiva wrote: >> >>> Quero deixar a clausula where encapsulada na view e na chamada da view >>> eu passaria apenas o nome 'matheus', 'paulo', 'joão', etc.... >>> >>> E você pode deixar condições da cláusula WHERE encapsuladas na VIEW. Por >> exemplo: >> >> CREATE VIEW funcionarios_ativos AS SELECT nome, salario FROM >> funcionarios WHERE status = TRUE; >> >> SELECT * FROM funcionarios_ativos WHERE nome = 'foo'; >> >> Ele apresentará somente funcionários cujo nome é 'foo' e que estejam >> "ativos". O que a visão faz é mesclar o SELECT que a definiu com o >> SELECT na qual ela foi utilizada. Portanto, internamente temos uma >> reescrita da consulta para: >> >> SELECT nome, salario FROM funcionarios WHERE status = TRUE AND nome = >> 'foo'; >> >> Observe que *somente* as colunas mencionadas na definição da visão são >> apresentadas. >> >> >> > 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? > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > Mateus explique melhor por que vc precisa ser dessa maneira, pois diretamente na view nao é possivel, somente criando uma função para isso. -- Douglas Fabiano Specht
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral