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