Hola a todos, estoy tratando de auditar el incremento del stock del inventario al realizar una compra, pero no he logrado asignar la variable del where del cursor, al parecer en mysql no se pueden pasar variables como parametros a los cursores. Ya que cuando activo el cursor la variable v_producto esta vacia.
Código (sql) [Seleccionar]
CREATE TRIGGER Compra_Producto AFTER INSERT ON `detalle_compra` FOR EACH ROW
BEGIN
DECLARE v_stock int;
DECLARE v_cantidad int;
DECLARE v_total int;
DECLARE v_producto bigint;
DECLARE cursor_compra CURSOR FOR
SELECT stock from inventario where producto_id = v_producto;
set @v_producto = NEW.producto_id;
set @v_cantidad = NEW.cantidad;
OPEN cursor_compra;
LOOP
FETCH cursor_compra INTO v_stock;
END LOOP;
CLOSE cursor_compra;
set @v_total = v_stock + v_cantidad;
UPDATE inventario set stock = v_total where producto_id = v_producto;
END