mysql中的光标(游标)的使用

来源:互联网 发布:凤险管理矩阵 编辑:程序博客网 时间:2024/06/06 12:41
delimiter &  /*设定定界符为& */
create procedure cursor_test(in flag varchar(10),out sname_tmp varchar(10),out age_tmp tinyint )
begin
declare _sname varchar(20);/*声明局部变量*/
declare _snumber varchar(20);
declare _age tinyint ;
declare cursor_stu cursor for select snumber,age,sname from student;/*声明光标*/
declare exit handler for not found close cursor_stu;/*定义条件处理*/
open cursor_stu;/*打开光标*/
repeat
fetch cursor_stu into _snumber,_age,_sname ;/*使用光标遍历每行数据*/
if _snumber=flag then /*使用if进行判断光标中的数据*/
select _sname,_age into sname_tmp,age_tmp ;/*取出满足条件要求的光标中的数据,对输出参数sname_tmp,age_tmp 赋值 */
end if;/*结束if语句*/
until _snumber=flag end repeat;/*退出循环*/
close cursor_stu;/*关闭光标*/
end &
delimiter ;