Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/01/2009, 15:24
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Restar campos mediante un trigger

Si. Los datos están previamente metidos en la tabla vehículos, pero de todos modos, para poder hacer un INSERT debiste haber recogido los datos del remolque primero, antes de poder enviar el dato a actualizar. ¿O no?
Es a eso a lo que me refiero: Si tuviste que levantar el ID del remolque para poder enviar los datos de la carga a la tabla de CARGAS, ¿por qué no levantas el tonelaje del vehículo y haces la resta ANTES de enviar el dato a la tabla de cargas? De esa forma el trigger es innecesario.
El cualquier caso, el trigger, si aún así lo quieres hacer, tiene forzosamente que hacer esa misma lectura para poder hacer la resta. Sino, ¿de dónde sacaría el valor para hacer la diferencia?
Esto significa que el trigger tendrá que leer el campo peso de la tabla "remolque" antes de hacer la resta de todos modos. Y esto será así, porque ningún DBMS te aceptará (que yo sepa) que envíes en un INSERT o en un UPDATE campos que no existen en la tabla destino.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)