@mysql初学–存储过程–游标
drop PROCEDURE if exists test;#若有存储过程,删除
delimiter $$
CREATE PROCEDURE test()#创建存储过程
BEGIN
#定义变量
DECLARE done BOOLEAN DEFAULT 0;
DECLARE code1 INT(11);
DECLARE value1 VARCHAR(20);
DECLARE code_value_description1 VARCHAR(50);
DECLARE cursor_m CURSOR FOR
SELECT code,value,code_value_description FROM code_value;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
BEGIN
OPEN cursor_m;#打开游标
REPEAT
FETCH next FROM cursor_m INTO code1,value1,code_value_description1;#用游标往变量里赋值
IF done!=1 THEN
SELECT code1,value1,code_value_description1;#查询出结果
SET done=0;
END IF;
UNTIL done END REPEAT;
CLOSE cursor_m;#关闭游标
END;
END;
$$
delimiter;
CALL test();#调用存储过程
结果是这样的:
问题?[只有10个结果]