criar um IF em tempo de execução

14/10/2019

0

Tenho uma tabela que armazena algumas condições para que a consulta seja realizada por exemplo:
é igual a
é deferente de
é maior do que
é maior ou igual a
é menor do que
é menor ou igual a

eu preciso que dentro da procedure (firebird) o if execute essa instrução por exemplo:

select po0021.po021_formula_1, po0021.po021_percentual_1, po0021.po021_condicao, po0021.po021_formula_2, po0021.po021_percentual_2
from po0021
where po0021.po021_iddiretoria = :r_iddiretoria
into :l_formula_1, :l_percentual_1, :l_condicao, :l_formula_2, :l_percentual_2;

if (:r_percentual_projetada || :l_formula_1 || :l_percentual_1) then
suspend;

Observação: :l_formula_1 pode ser igual >, >=, =, <=

Como fazer para o If entender isso?
Silvio Morelo

Silvio Morelo

Responder

Posts

14/10/2019

Felipe Morais

Recomendo uma leitura sobre a estrutura SQL CASE-WHEN. Exemplo:

CASE
  WHEN r_percentual_projetada THEN :l_formula_1;
END
Responder

14/10/2019

Emerson Nascimento

Pesquise também por
execute statement
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar