Re: [firebase-br] Parâmetros nulos
Kléber Caneva
kdcc em terra.com.br
Ter Jul 18 15:49:58 -03 2006
Fiz um teste simples e funcionou:
CREATE PROCEDURE SP_TESTE (
KPRODUTO INTEGER)
RETURNS (
CODIGO CHAR(12),
NOME VARCHAR(80))
AS
begin
For
Select CODIGO, NOME
From PRODUTO
Where (:KPRODUTO is null) or (KPRODUTO = :KPRODUTO)
Into :CODIGO, :NOME
do
suspend;
end^
Se eu chamo
Select * From SP_TESTE( 155 )
ele me retorna um unico produto, se eu chamo
Select * From SP_TESTE( null )
ele me retorna todos os produto..
[]´s
Kléber Caneva
----- Original Message -----
From: ""Fabrício F. Kammer"" <ffkammer em conchalnet.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, July 18, 2006 3:08 PM
Subject: Re: [firebase-br] Parâmetros nulos
Boa tarde Kléber,
O problema não é a ordem dos parâmetros, mas sim que o FB não permite a
comparação:
:PARAM IS NULL
[]s
Fabrício
Kléber Caneva escreveu:
> Amigo, acredito que como você está usando o OR se você inverter a
> condição
> ele irá funcionar...
>
> WHERE (:PARAM IS NULL) OR (CAMPO=:PARAM)
>
> Isso se justifica, pois o interpretador ao considerar a 1º condição como
> verdadeira, ele não irá validar a 2º, pois o Where já satisfaz a
> condição...
>
> []´s
>
> Kléber Caneva
>
> ----- Original Message -----
> From: ""Fabrício F. Kammer"" <ffkammer em conchalnet.com.br>
> To: <lista em firebase.com.br>
> Sent: Tuesday, July 18, 2006 9:38 AM
> Subject: [firebase-br] Parâmetros nulos
>
>
> 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
19 3866-1927
ConchalNet
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
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1153246386.392492.5996.balcomo.hst.terra.com.br,4825,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 18/07/2006 / Versão:
4.4.00/4809
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista