05/06/2011, 20:07
|
| | 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 |