使用游标之前要 在 学会循环 前提下。
下面代码有错,以此标记。
DELIMITER $$
# 建立一个存储过程
# OUT num1 INT 这个意思为 : 输出的变量num1, int类型
# @变量 称为用户变量, 用户变量存在于表的数据。 表中有emp_no这个字段, 那么@emp_no 就变成了一个用户变量
# create procedure youbiao(out num1 int)
CREATE PROCEDURE youbiao2()
BEGIN
# 预先声明一个局部变量, int类型, 默认值为0
DECLARE var_num2 INT DEFAULT 0;
# 声明一个局部变量 , int 类型, 默认值为0
DECLARE var_counter INT DEFAULT 0;
# 声明游标
#提取数据到一个结果集里面,而游标resultEmp就是里面的指针, 结果集类似于Java中的list集合
DECLARE resultEmp CURSOR FOR
SELECT emp_no FROM employees;
# 打开游标
# 打开指针这个意思
OPEN resultEmp ;
# 循环开始
LOOP
var_counter = var_counter + 1;
#使用游标 (游标一般使用在循环里面。)
# 指针从0开始遍历, 读取当前行,完成后将结果集赋予 变量var_num2, 然后指针指向下一行
FETCH resultEmp INTO var_num2;
var_num2=var_num2 + 1;
#循环结束
EXIT WHEN var_counter = 5;
END LOOP;
#关闭游标
CLOSE resultEmp;
END$$
DELIMITER $$;
#