Re: [firebase-br] Parâmetros nulos
Fabiano Arndt
fabianoallex em gmail.com
Qua Jul 19 17:57:19 -03 2006
Precisei disso tbm, em Oracle é facinho, normalmente nossos select de
relatórios e consultas tem esse formato no Oracle:
SELECT
[CAMPOS]
FROM
[TABLEAS]
WHERE
(:PARAM IS NULL
OR
CAMPO = :PARAM)
AND
(:PARAM2 IS NULL
OR
CAMPO = :PARAM2)
no firebird tive que criar 2 parametros para cada opção, ficou mais ou
menos assim
SELECT
[CAMPOS]
FROM
[TABLEAS]
WHERE
(:POR_PARAM = -1
OR
CAMPO = :PARAM)
AND
(:POR_PARAM_2 = -1
OR
CAMPO = :PARAM2)
aí se o usuário deseja pelo primeiro parametro, passo 0 para POR_PARAM
e o valor do parametro se ele deseja não filtrar pelo parametro, passo
-1 para POR_PARAM
espero que nao tenha ficado confusso
flw,
Fabiano.
Em 18/07/06, "Fabrício F. Kammer"<ffkammer em conchalnet.com.br> escreveu:
> Salve Galera!
>
> Alguém sabe alguma forma eficiente para testar se um parâmetro é nulo?
> Tenho muitas consultas com parâmetros opcionais e preciso que o select
> traga todos os registros caso o parâmetro não sejam informados.
>
> Em Oracle isso é o possível:
>
> WHERE CAMPO=:PARAM OR :PARAM IS NULL
>
> Já no FB não é possível esta solução. Testei o seguinte:
>
> WHERE CAMPO=:PARAM OR 0=:PARAM
>
> Porém dessa forma eu terei que passar um 0 (zero) na momento da execução
> da consulta, caso isso seja esquecido a consulta não retornará nenhum
> registro.
>
> []s
>
> --
> Fabrício F. Kammer
> Conchal/SP
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista