CURSORES en MYSQL
create procedure uspcur1(IN cod char(5))
begin
declare vcodigo char(5) default '0';
declare vnom varchar(50);
declare vape varchar(50);
declare vsue double;
declare done int default 0;
declare cur_emple cursor for select idempleado,nombres,apellidos,sueldo
from empleados where idempleado=cod;
declare continue handler for sqlstate '02000' set done=1;
open cur_emple;
fetch cur_emple into vcodigo,vnom,vape,vsue;
if(vcodigo = '0') then
select 'No existe empleado registrado';
else
select vcodigo,vnom,vape,vsue;
end if;
close cur_emple;
end
--ejecutando el procedure uspcur1 con el cursor
call uspcur1("E0001");
begin
declare vcodigo char(5) default '0';
declare vnom varchar(50);
declare vape varchar(50);
declare vsue double;
declare done int default 0;
declare cur_emple cursor for select idempleado,nombres,apellidos,sueldo
from empleados where idempleado=cod;
declare continue handler for sqlstate '02000' set done=1;
open cur_emple;
fetch cur_emple into vcodigo,vnom,vape,vsue;
if(vcodigo = '0') then
select 'No existe empleado registrado';
else
select vcodigo,vnom,vape,vsue;
end if;
close cur_emple;
end
--ejecutando el procedure uspcur1 con el cursor
call uspcur1("E0001");
Comentarios