Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/06/2008, 10:13
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, 2 meses
Puntos: 2658
Respuesta: Como saber el dato que acaba de entrar??

1. OLD es la pseudovariable que contiene los valores que ya están en el registro. Es funcional en el UPDATE.
2. Cuando estás haciendo un UPDATE a una tabla, no debes realizar un INSERT a la misma en el mismo campo, sino manipular los contenidos de las pseudo OLD y NEW:
Código:
CREATE TRIGGER trigger_movimientos_inventario AFTER UPDATE ON inventarioreal
FOR EACH ROW
BEGIN
SET  NEW.cantidadprod_inventarioreal = OLD.cantidadprod_inventarioreal-NEW.cantidadprod_inventarioreal;
END;
y de todos modos, esto es algo que deberías controla directamente en el UPDATE:
Código:
UPDATE inventariomov  
SET cantidadprod_inventarioreal = cantidadprod_inventarioreal+@candidad , 
fecha_inventariomov = NOW(), 
usuario_id = 1 
WHERE id_productos = @idvariable;
siendo @cantidad y @idvariable variables que contengan los valores a actualizar e identificar.

3. ¡Por Dios, puntuá bien tus mensajes que casi no se comprenden las frases! No estás escribiendo en un SMS.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)