Necesito hacer lo siguiente: crear trigger que cuando inserte una ruta en km se guarde tambien en millas y cuando se inserte en millas se ponga tambien en km
Los campos de mi tabla es ruta, distancia_k y distancia_m
Y mis funciones y mis triggers son los siguientes
Código SQL:
Ver original
CREATE OR REPLACE FUNCTION actualizar_kilometros() RETURNS TRIGGER AS $$ DECLARE m NUMERIC; BEGIN m:= 1.609344; NEW.distancia_k := NEW.distancia_m*m; RETURN NEW; END; $$ LANGUAGE 'plpgsql'; CREATE OR REPLACE FUNCTION actualizar_millas() RETURNS TRIGGER AS $$ DECLARE k NUMERIC; BEGIN k:= 0.621371; NEW.distancia_m :=NEW.distancia_k*k; RETURN NEW; END; $$ LANGUAGE 'plpgsql'; --DEFINICION DEL TRIGGER CREATE TRIGGER actualizar_kilometros BEFORE INSERT OR UPDATE OF distancia_m ON distancias FOR each ROW EXECUTE PROCEDURE actualizar_kilometros(); CREATE TRIGGER actualizar_millas BEFORE INSERT OR UPDATE OF distancia_k ON distancias FOR each ROW EXECUTE PROCEDURE actualizar_millas();
El codigo anterior solamente funciona cuando actualizo, cuando inserto solamente se inserta el nombre de la ruta, pero no se inserta nada en millas ni en kilometros
Me podrian ayudar? no se que tengo mal