如何使用光标
一条sql 取出的对应的N 条资源的句柄 或接口 就是游标
查询语句可能返回多条记录, 如果数据量非常大, 需要在存储过程和储存函数中使用光标来逐条读取查询结果集中的记录
1,声明光标: 语法如下:
DECLARE cursor_name CURSOR FOR select_statement
cursor_name => 光标的名称
select_statement => SELECT 语句的内容 返回一个用于创建光标的结果集
示例: DECLARE rows CURSOR FOR SELECT name, value FROM test;
声明一个光标 rows , select 语句从test表中查询出 name 和 value 字段的值
2, 打开光标
open cursor_name
打开名称为 cursor_name 的光标
3,使用光标
语法 FETCH cursor_name INTO var_name [, var_name]... {参数名称}
cursor_name 是光标的名称
var_name 表示查询结果存入的字段名称(变量必须在光标声明前定义好)
示例: FETCH rows INTO var_name, var_value ; //把光标的值赋值到变量中
4,关闭光标
CLOSE cursor_name //关闭名称为cursor_name 的光标
总结:
这里我们学习力如何声明, 打开, 使用, 关闭 光标
一个select 语句会将查到的N条结果一次性 输出给你, 而有了游标之后, 不会一次返回给你, 而是给你提供一个操作的接口, 可以顺着这个接口找到这些数据, 可以利用循环对这些数据进行查看,检查
声明游标并没有查询资源,只有在打开的时候采取请求资源
如何全部取出游标所有行? 接下来我们就来学习. 如何用循环来读取数据