Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/11/2011, 04:30
Avatar de Richifredo
Richifredo
 
Fecha de Ingreso: noviembre-2011
Mensajes: 5
Antigüedad: 12 años, 6 meses
Puntos: 0
Problema al modificar Trigger

Buenas a todos!!

Mirando por el foro solo he encontrado un tema parecido a este, pero no he encontrado una solucion. Les comento:

Estoy liado en una modificacion de control de stockage de una tienda, y en la cual, la base de datos tira de "triggers". Nunca los habia usado antes, asi que tampoco es que ande muy sobrado de su funcionamiento.
El trigger "conflictivo" es a la hora de actualizar la tabla que contiene el stock, que se ejecuta automaticamente al realizar una compra. Es este:

Código:
CREATE TRIGGER articulos_vendidos AFTER INSERT ON art_ventas
FOR EACH ROW
BEGIN
DROP TRIGGER IF EXISTS `base_de_datos`.`articulos_vendidos`;
UPDATE almacen SET
almacen.stock = almacen.stock -  new.cant_articulos;
END//
Aplicandolo tal cual, actualiza el stock de todos los articulos, pero con la cantidad sumada de todos los articulos (la insercion a la hora de realizar la compra la hago con un while, y a cada insert me ejecuta el trigger de nuevo). Creo que lo que deberia hacer es quitar del trigger "FOR EACH ROW", pero entonces la implementacion del trigger (a traves de phpmyadmin) salta con un error #1064.

Alguien puede darme una solucion?
Gracias.