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

Função não atualiza campo numeric (12,2)


SHARMAQ

Pergunta

Amigos, boa tarde

estou com uma pequena tabela que se atualiza com uma function. porém, não estou conseguindo fazer com que um campo numeric (12,2) funciona, fica sempre dando NULL, outros campos dá certo.

abaixo, isolei a parte da funcion que não vai:

Create table veiculos (
    id serial primary key,
	id_empresas integer references empresas(id) on delete restrict, 
    km_atual       integer,
    custo_km       numeric(12,2),
);

CREATE OR REPLACE FUNCTION fn_update_veiculos()
RETURNS trigger AS $BODY$

declare 
	custo_medio decimal(12,2):=0;
BEGIN
	SELECT round(COALESCE(SUM(custo),0) / MAX(km_atual),2) FROM veiculos_despesas WHERE veiculos_despesas.id_veiculo=NEW.id into custo_medio;
	UPDATE veiculos set custo_km=(custo_medio) where veiculos.id=new.id_veiculo;
	
	RETURN NEW;
END;
$BODY$ LANGUAGE plpgsql;

CREATE TRIGGER trigger_update_veiculos AFTER INSERT OR UPDATE OR DELETE ON veiculos_despesas
    FOR EACH ROW EXECUTE PROCEDURE fn_update_veiculos();

 

veiculos.custo_km fica sempre null embora custo_medio seja igual a 2.51.

alguma dica do que estou fazendo errado?

Editado por SHARMAQ
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.1k
    • Posts
      651.8k
×
×
  • Criar Novo...