Hola estoy con un motor mysql 5.6 no encuentro forma de visualizar datos con un loop no se que estoy haciendo mail, no me da error al crear el proceso y la tabla y el campo estan bien y hay 400 registros. Gracias (dejo el ejemplo).
Cita:
DELIMITER $$
DROP PROCEDURE IF EXISTS `empresa`.`usuarios` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `usuarios`(
OUT mails varchar(400))
BEGIN
DECLARE no_more_records INTEGER DEFAULT 0;
DECLARE v_email varchar(100) DEFAULT "";
DECLARE cur_EventRanks CURSOR FOR
select mail from usuario;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_records=1;
set no_more_records = 0;
open cur_EventRanks;
cur_Loop: LOOP
FETCH cur_EventRanks INTO
v_email;
if no_more_records = 1 then
leave cur_Loop;
end if;
SET mails = CONCAT(v_email,";",mails);
END LOOP cur_Loop;
close cur_EventRanks;
END $$
DELIMITER ;
--//La llamada la hago como
call usuarios(@mails)
select @mails
nada me trae en blanco la variable- probe una stored procedure sin loop y funciona e viene la lista de los 400 registros.
|