Adriano Gaspar wrote:

Alguem saberia se isso funciona:
select * from tabela
where
case when (condicao1) then
     valor > 2
else
     valor <> 2
end
isso seria se ele nao atendesse uma condicao1 (principal) ele iria fazer o where com uma condicao no caso valor <> 2, se ele atender a condicao1 ele ele executa o Where com a seguinte clausula: valor > 2.


Não funciona.
O case define qual expressão vai para o resultado. (veja exemplos no manual)

O que você deseja é montar uma expressão SQL dinamicamente e então executá-la.
Para isso veja EXECUTE no pl/pgsql.

[]s
Osvaldo

P.S.
Não dê reply em uma mensagem digest.



                
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
http://br.acesso.yahoo.com
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a