[firebase-br] Parâmetros nulos

"Fabrício F. Kammer" ffkammer em conchalnet.com.br
Ter Jul 18 17:00:48 -03 2006


Yep! a idéia é boa mesmo, mas, sem querer ser chato, não resolve muito 
meu problema... pois como eu disse, estou trabalhando nisso para um 
gerador de relatórios personalizados, onde o meu cliente irá criar os 
relatórios dentro do próprio sistema... ele deverá utilizar qq tabela do 
sistema, não posso deixá-lo preso a stored procedures

[]s

Fabrício

Kléber Caneva escreveu:
> 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




Mais detalhes sobre a lista de discussão lista