在编写存储过程时,查询可能返回多条记录,如果,数据量非常大,则需要使用光标来逐条读取查询结果集中的记录
光标,是一种用于轻松处理多行数据的机制
光标的声明
使用光标处理结果集中的数据,需要先声明光标
光标,必须声明在声明变量、条件之后,声明处理程序之前
MySQL中,使用DECLARE关键字来声明光标
语法格式
DECLARE cursor_name CURSOR FOR select_statement;
参数说明
Cursor_name,表示光标的名称
Select_statement,表示SELECT语句的内容,返回一个用于创建光标的结果集
声明一个名为cursor_student的光标
光标的使用
声明完光标之后,就可以使用了
使用光标之前,首先需要的打开光标
打开和使用光标
语法格式
OPEN cursor_name
FETCH cursor_name INTO var_name [,var_name]……
参数说明
Cursor_name,表示参数的名称
Var_name,表示将光标中的SELECT语句,查询出来的信息,存入该参数中
注意,var_name必须在声明光标之前,就定义好
使用名称为cursor_student的光标,将查询出来的信息,出入s_name和s_gender中
光标的关闭
使用完光标之后,需要将光标光标
语法格式 CLOSE cursor_name 注意,如果没有明确的关闭光标,它会在其声明的复合语句的末尾,被关闭