Cita:
Iniciado por huesos52 manurodri189
Con ese update vas a modificar todas las filas de tu tabla.
debes poner el where para distinguir la ruta.
Ademas, puedes hacerlo en una misma sentencia update.
Código SQL:
Ver originalUPDATE distancias
SET
distancia_m=:NEW.distancia_k*0.621371,
distancia_k=:NEW.distancia_m*1.609344
WHERE ruta=:OLD.ruta;
Compi, ese update me dá que no funcionaria. Si no estoy equivocado ese trigger estaría saltando de manera infinita o daría error por tabla mutante.
Creo que lo correcto sería algo parecido a esto:
if UPDATING distancia_k THEN
:new.distancia_m=:NEW.distancia_k*0.621371;
ELSIF UPDATING distancia_m THEN
:new.distancia_k=:NEW.distancia_m*1.609344;
end if;
Todo es probar.
Ya nos dirás.