概念:从select 数据集中按顺序提取每一行数据,不可跳过,作用类似于数组的for循环。为什么要使用游标?主要是因为mysql没有数组这个概念。
DROP PROCEDURE IF EXISTS pro_name;
CREATE PROCEDURE pro_name() #创建存储过程
BEGIN
DECLARE i INT(5) DEFAULT 0 ;
DECLARE t_FEmpID INT(11);
DECLARE t_FEmpName VARCHAR(128);
DECLARE cursor_test CURSOR for SELECT FEmpID,FEmpName FROM t_emp WHERE FEmpID>120 ; #(1)定义游标
OPEN cursor_test; # (2)打开游标
while (i<=5)
do
FETCH cursor_test INTO t_FEmpID,t_FEmpName; #(3)提取数据集的信息,注意:FETCH into 的字段数要和定义时select的字段数一致
SELECT t_FEmpID,t_FEmpName; #检验每行信息
SET i=i+1;
END WHILE;
CLOSE cursor_test ; #(4)关闭游标
END