一、游标简介
1、游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。
2、游标充当指针的作用
3、尽管游标能遍历结果中的所有行,但他一次只指向一行。
4、游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作
二、游标使用
1、声明游标
declare cur_name CURSOR for table; (这里的table可以是你查询出来的任意集合)
2、打开定义的游标
open cur_name ;
3、获得下一行数据
FETCH NEXT FROM cur_nameinto variable; (variable 为前面存储过程中定义的变量名)
4、需要执行的业务,也就是需要执行的语句(增删改查)
5、释放游标
close cur_name;
三、游标实例
1、简单实例,要实现的功能:从表from_data 中,复制一份数据存入to_data 中DELIMITER $$
DROP PROCEDURE IF EXISTS `transfer_data`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `transfer_data`()
BEGIN
DECLARE a INT;
DECLARE b VARCHAR(32);
DECLARE c INT;
-- 这个变量用于处理游标到最后一行的情况
DECLARE s INT DEFAULT 0;
-- 声明游标cursor_name (cursor_name是