Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/12/2008, 09:33
vega_012
 
Fecha de Ingreso: noviembre-2008
Ubicación: Lima
Mensajes: 48
Antigüedad: 15 años, 5 meses
Puntos: 2
Ayuda en cursor con mysql

BUENAS ALGUIEN SABE COMO HACER UN BREAK EN MYSQL, LO QUE QUIERO ES HACER UN BREAK CUANDO EL INCREMENTO SEA 2
DELIMITER $$

DROP PROCEDURE IF EXISTS `digianet`.`USP_PAGOCLIENTE_Lista` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `USP_PAGOCLIENTE_Lista`()
begin
DECLARE done INT DEFAULT 0;
DECLARE c_cod_cliente bigint;
DECLARE c_nom_cliente varchar(80);
DECLARE c_tel_cliente varchar(8);
DECLARE c_dir_cliente varchar(80);
DECLARE c_dia_gracia int;
DECLARE fecha_actual datetime;
DECLARE c_fe_ven datetime;
DECLARE incremento int default 0;
DECLARE cur1 CURSOR FOR SELECT c.cod_cliente,nom_cliente,tel_cliente,dir_cliente, dia_gracia,fe_ven
from cliente c inner join pago_cliente pc on pc.cod_cliente=c.cod_cliente where estado_cliente=1 and pc.estado=0;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
set fecha_actual=(select now());
OPEN cur1;

REPEAT
FETCH cur1 INTO c_cod_cliente,c_nom_cliente,c_tel_cliente,c_dir_cl iente,c_dia_gracia,c_fe_ven;
IF NOT done THEN
set incremento=0;
while c_fe_ven<fecha_actual do
set c_fe_ven=(select adddate(c_fe_ven, INTERVAL 30 DAY));
select c_fe_ven;
set incremento=incremento+1;
if incremento>1 then
SELECT 'ALGO';//ACA EL BREAK
END IF;
end while;
END IF;
UNTIL done END REPEAT;
CLOSE cur1;

end $$

DELIMITER ;