Ver Mensaje Individual
  #13 (permalink)  
Antiguo 15/03/2010, 13:17
jc3000
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: Echadme una mano con triggers, estoy aprendiendo

Cita:
Iniciado por huesos52 Ver Mensaje
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 original
  1. UPDATE distancias
  2. SET
  3. distancia_m=:NEW.distancia_k*0.621371,
  4. distancia_k=:NEW.distancia_m*1.609344
  5. 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.