delimiter $$
create function cursorTemp
(
inIdActivity char(13)
)
returns varchar(700) deterministic reads sql data
begin
declare idAccreditationTemp char(13) default '';
declare indexRow int default 1;
declare done boolean default false;
declare cursorToIterate cursor for select idAccreditation from taccreditation where idActivity=inIdActivity;
declare continue handler for not found set done=true;
open cursorToIterate;
loopName: loop
fetch cursorToIterate into idAccreditationTemp;
if done then
leave loopName;
end if;
update taccreditation set registerNumber=concat(mid(registerNumber, 1, 4), LPAD(indexRow, 4, '0')) where idAccreditation=idAccreditationTemp;
set indexRow=indexRow+1;
end loop loopName;
close cursorToIterate;
return 'Ejecución realizada correctamente';
end
$$
select cursorTemp('60766cff2977f');