Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/06/2011, 20:07
inesmao
 
Fecha de Ingreso: marzo-2011
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Procedimiento Almacenado MySQL con cursor

Hola, gracias por responder, esto es lo que llevo hasta ahora pero tengo dudas de que sea así .... me podrías explicar cómo funciona lo del FETCH?? Gracias

CREATE PROCEDURE actualizar_total_compra()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE acum_compra INT;
DECLARE cursor1 CURSOR FOR SELECT total_compra FROM cliente;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cursor1;

FETCH NEXT FROM cursor1 INTO acum_compra;
WHILE @@FETCH_STATUS = 0
BEGIN
acum_compra = SELECT SUM(producto.precio), FROM producto, ventas, cliente WHERE ventas.id_producto = producto.id AND ventas.id_cliente = cliente.id_cliente GROUP BY producto.precio;
INSERT INTO cliente.total_compra VALUES (acum_compra);
FETCH NEXT FROM cursor1 INTO acum_compra;
END

CLOSE cursor1;
DEALLOCATE cursor1
END