DROP PROCEDURE IF EXISTS CURSOR_test;delimiter //
#创建名为xw的存储过程
CREATE PROCEDURE xw()
BEGIN
#声明三个变量
DECLARE vend_id VARCHAR(255);
DECLARE prod_id VARCHAR(255);
DECLARE prod_price VARCHAR(255);
#遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
#定义一个名为mycursor的游标
DECLARE mycursor CURSOR FOR SELECT * FROM abcd;#将结束标志绑定到游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE;
#打开游标
OPEN mycursor;
#开始循环
read_loop:LOOPFETCH mycursor INTO vend_id,prod_id,prod_price;IF done THEN
LEAVE read_loop;
END IF;INSERT INTO abcd VALUES(vend_id,prod_id,prod_price);
END LOOP read_loop;
#关闭游标
CLOSE mycursor;
END;//
delimiter ;
CALL xw();
SELECT * FROM abcd;
初学者,为什么每次运行循环次数都不一样