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

Adilson Pazzini adilson em storesystems.com.br
Ter Out 23 17:40:23 -03 2012


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 ; ^


Mais detalhes sobre a lista de discussão lista