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 deleterestrict,
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.
Pergunta
SHARMAQ
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:
veiculos.custo_km fica sempre null embora custo_medio seja igual a 2.51.
Editado por SHARMAQalguma dica do que estou fazendo errado?
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.