概述
查询语句可能查询出多条记录,在存储过程和函数中使用光标来逐条读取查询结果集中的记录。有些书上将光标称为游标。光标的使用包括声明光标、打开光标、使用光标和关闭光标。光标必须声明在处理程序之前,并且声明在变量和条件之后。光标可以类比为数组内部中的循环指针。
声明光标
declare cursor_name cursor for select_statement;
其中,cursor_name参数表示光标的名称;select_statement参数表示SELECT语句的内容。
声明光标举例
DECLARE cur_employee SELECT name, age FROM employe;
上面的示例中,声明一个名为cur_employee的光标。光标的名称为cur_employee;SELECT语句部分是从employee表中查询出name和age字段的值。
打开光标
open cursor_name;
使用光标
fetch cursor_name into var_name[,var_name]...
其中,cursor_name参数表示光标的名称;var_name参数表示将光标中的SELECT语句查询出来的信息存入该参数中。var_name必须在声明光标之前就定义好。
关闭光标
close cursor_name;
关闭之后就不能使用FETCH来使用光标了。
光标在存储过程或函数中的使用
目前,mysql中的光标只能在存储过程或函数中使用。