Acceder Registrarme

Ejemplo de cursores en MySql


Por: Kevin Arnold Arias Figueroa Publicado el: 2017-06-30 02:07:34
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');