1、游标的作用:
1.1 如果你前面看过mysql函数,会发现无法使用返回多行结果的语句。但如果你又确实想要使用时,就需要使用到游标,游标可以帮你选择出某个结果(这样就可以做到返回单个结果)。
1.2 使用游标也可以轻易的取出在检索出来的行中前进或后退一行或多行的结果。
1.3 游标可以遍历返回的多行结果。
1.4 Mysql中游标只适用于存储过程以及函数。
2、游标的定义与语法:
1.定义游标:declare 游标名 cursor for select语句;
2.打开游标:open 游标名;
获取结果:fetch 游标名 into 变量名[,变量名];
关闭游标:close 游标名;
--在windows系统中写存储过程时,如果需要使用declare声明变量,需要添加这个关键字,否则会报错。
delimiter //
drop procedure if exists StatisticStore;
CREATE PROCEDURE StatisticStore()
BEGIN
--创建接收游标数据的变量
declare c int;
declare n varchar(20);
--创建总数变量
declare total int default 0;
--创建结束标志变量
declare done int default false;
--创建游标
declare cur cursor for select name,count from store where name = 'iphone';
--指定游标循环结束时的返回值
declare continue HANDLER for not found set done = true;
--设置初始值
set total = 0;
--打开游标
open cur;
--开始循环游标里的数据
read_loo