[firebase-br] Procedure - Parametro - DEPENDENDO modificar a Instrução SQL

Fausto fausto.s.a em uol.com.br
Ter Out 30 17:29:43 -03 2012


Tente algo assim:

FOR
       SELECT DESCRICAO FROM TRACID  WHERE CODCID = COALESCE(:PAR_CODCID,CODCID)

       INTO :DESCRICAO ;
     DO
      suspend;

Em 23/10/2012 17:40, Adilson Pazzini escreveu:
> Só consegui fazendo dessa forma ...
> Alguem tem alguma forma mais simples de se fazer , mais que eu tenha o mesmo resultado ...
>
> Ate . so pra entender . o que eu quero . é o seguinte . queria que a procedure . conforme eu informa-se ou nao um parametro . ele
> faria a pesquisa de uma forma ou outra. mais queria algo mais simples . pois ate ai . é uma pesquisa de uma linha . as vezes tem
> selects q são gigantescas . e ficaria um codigo muito grande ....
>
>
>
>
>   IF (PAR_CODCID IS NULL) THEN
>     BEGIN
>    
>      FOR
>        SELECT DESCRICAO FROM TRACID
>        INTO :DESCRICAO ;
>      DO
>       suspend;
>
>     END
>   ELSE
>    BEGIN
>
>    
>      FOR
>        SELECT DESCRICAO FROM TRACID WHERE CODCID = :PAR_CODCID
>        INTO :DESCRICAO ;
>      DO
>       suspend;
>
>    END
>
>
>
>
> Tentei assim. mais nao dá certo
>
> SET TERM ^ ;
>
> CREATE OR ALTER PROCEDURE PROCEDURE_TESTE (
>      par_codcid varchar(4))
> as
> begin
>    /* Procedure Text */
>    FOR
>
>    SELECT DESCRICAO FROM TRACID
>
>    IF (PAR_CODCID IS NULL) THEN /*EX. TO MISTURANDO O SCRIP NO MEIO DO SQL  */
>     WHERE CODCID = :PAR_CODCID
>     /* QUERIA INCLUIR AQUI UMA COMPLEMENTACAO PARA FORMAÇAO DO SQL*/
>
>     INTO :DESCRICAO ;
>
>    suspend;
> end^
>
> SET TERM ; ^
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>

-- 
Fausto Alves
Skype:faustoalves
msn:faustoalves em com4.com.br
Franca-SP
Enviado pelo Mozilla Thunderbird
http://br.mozdev.org/thunderbird




Mais detalhes sobre a lista de discussão lista