[firebase-br] RES: Select variando o where

Alexandre Camilo camilo em apollosistemas.com.br
Seg Dez 30 14:32:13 -03 2013


Fabio, acredito que este exemplo seja o que você está precisando faltando
apenas algumas adaptações:

EXECUTE BLOCK RETURNS (NAME VARCHAR(1000))
AS
declare variable CONDICAO INTEGER;
declare variable SQL VARCHAR(1000);
BEGIN
    CONDICAO = 1;
    SQL = 'SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE ('||
IIF(CONDICAO = 1, ' RDB$RELATION_NAME ',' RDB$OWNER_NAME ')|| ' =
''LNCPENSAO'')';
    FOR EXECUTE STATEMENT SQL INTO NAME DO
        SUSPEND;
END;


Espero ter ajudado
Alexandre Camilo.



-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Fábio P. Santos
Enviada em: sexta-feira, 27 de dezembro de 2013 16:33
Para: FireBase
Assunto: [firebase-br] Select variando o where

Tenho um select dentro de uma stored procedure do tipo:

for select codigo, nome
     from tabela
     where data_emissao < :hoje
into :codigo, :nome
do
  begin
    suspend;
end

a questão é que dependendo da opção eu utilizaria no where a condição de
data_emissao ou data_de vencimento sem precisar criar duas estruturas
dentro da procedure, algo do tipo:

if(condicao) then
 begin
 where data_emissao < :hoje
end
else begin
 where data_vencimento < :hoje
end

não sei se existe algo que possibilite isto no firebird....

obrigado....
______________________________________________
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





Mais detalhes sobre a lista de discussão lista