Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2014, 17:14
davidc_10
 
Fecha de Ingreso: noviembre-2010
Mensajes: 13
Antigüedad: 13 años, 5 meses
Puntos: 0
Uso de Old en un Trigger

Hola a todos, quisiera saber si en Mysql 6 todavia se puede usar la palabra reservada OLD en un trigger, pues resulta que estoy creando uno que se me active cuando se actualice o elimine un registro en una tabla, pero lo raro es que me da error precisamente al ejecutar esa sentencia; la duda surge a raiz de que la palabra reservada NEW si la reconoce por el hecho de que le cambia el color a azul automaticamente pero con la palabra OLD no pasa nada me la deja igual como que no fuera reservada, y me da error. Les agradecere mucho si me pueden orientar o dar mas informacion para resolver este problema. Saludos.

Este es el Trigger

Código SQL:
Ver original
  1. CREATE TRIGGER TgVentasAct AFTER UPDATE ON Ventas
  2. FOR EACH ROW
  3. BEGIN
  4.  
  5.         DECLARE Devuelto INT;
  6.         Devuelto=OLD.Cantidad-NEW.Cantidad; #(EN ESTA LINEA ME MUESTRA EL ERROR POR LA PALABRA RESERVADA OLD QUE NO LA RECONOCE)
  7.         UPDATE Inventario SET Existencia=Existencia+Devuelto WHERE idProducto=NEW.Id_Producto;
  8.         INSERT INTO Movimientos (idTipoMov,IdProducto,Fecha,Cantidad) VALUES (5,NEW.Id_Producto,Now(),NEW.Cantidad);
  9. END;

Última edición por gnzsoloyo; 28/03/2014 a las 17:27