重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了如何使用MySQL游标,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
十多年的鲁甸网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整鲁甸建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“鲁甸网站设计”,“鲁甸网站推广”以来,每个客户项目都认真落实执行。
什么是游标:
create procedure p1() begin declare id int; declare name varchar(15); -- 声明游标 declare mc cursor for select * from class; -- 打开游标 open mc; -- 获取结果 fetch mc into id,name; -- 这里是为了显示获取结果 select id,name; -- 关闭游标 close mc; end;
create procedure p2() begin declare id int; declare name varchar(15); -- 声明游标 declare mc cursor for select * from class; -- 打开游标 open mc; -- 获取结果 loop -- 循环,将表的内容都转移到class2中 fetch mc into id,name; -- 这里是为了显示获取结果 insert into class2 values(id,name); -- 关闭游标 end loop; close mc; end;
create procedure p2() begin declare id int; declare name varchar(15); -- 声明游标 declare mc cursor for select * from class; -- 打开游标 open mc; -- 获取结果 loop -- 循环,将表的内容都转移到class2中 fetch mc into id,name; -- 这里是为了显示获取结果 insert into class2 values(id,name); -- 关闭游标 end loop; close mc; end;
上面的代码会有一个报错,不断循环的话,始终会达到表的末尾,到了末尾就无法继续fetch,一般来说都要避免报错,到了末尾前会有一个mysql定义的
create procedure p3() begin declare id int; declare name varchar(15); declare flag int default 0; -- 声明游标 declare mc cursor for select * from class; declare continue handler for not found set flag = 1; -- 打开游标 open mc; -- 获取结果 l2:loop fetch mc into id,name; if flag=1 then -- 当无法fetch会触发handler continue leave l2; end if; -- 这里是为了显示获取结果 insert into class2 values(id,name); -- 关闭游标 end loop; close mc; end; call p3();-- 不报错 select * from class2;
以上就是关于如何使用mysql游标的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。