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?
é 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
Curtir tópico
+ 0
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
Clique aqui para fazer login e interagir na Comunidade :)