Ir para conteúdo
Fórum Script Brasil
  • 0

Subtrair Valores PL/pgSQL


Alphak

Pergunta

Olá,

Estou com um problema de calculos em uma função, abaixo:

CREATE OR REPLACE FUNCTION calcular(IN v_entrada numeric DEFAULT 0, IN v_mes integer DEFAULT 1, IN v_ano integer DEFAULT 2013, OUT v_soma numeric)
  RETURNS numeric AS
$BODY$
DECLARE
  vlSalAnt numeric := 0;
BEGIN

SELECT 
            coalesce(sum(con_saldo), 0)
            INTO vlSalAnt
FROM
            contabilizacoes
WHERE 
             con_mes = v_mes AND con_ano = v_ano;

if  vlSalAnt >= 0 then
  
  v_soma := (v_entrada + vlSalAnt);

else
   
      v_soma := (v_entrada - vlSalAnt);

end if;

END
$BODY$
  LANGUAGE plpgsql VOLATILE;

Como podem ver quando o valor da variável vlSalAnt é positivo está fazendo correto o cálculo,

mas quando entra no else ao invéz de fazer (500 - 100) está fazendo (500 +100), o que estou fazendo errado nesta função.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...