Hola a todos, esperando me puedan ayudar
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 originalCREATE 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