上一遍博客写了有关存储过程的语法知识 Mysql(7)---存储过程游标
或许你在工作中很少用到,但用不到不代表不去了解它,但你真正需要它来解决问题的时候,再花时间去学习很可能会影响你的工作进度。注意
:MySQL游标只能用于存储过程(和函数)。游标主要用于交互式应用。
一、概述
1、定义
游标是一个存储在MySQL服务器上的数据库查询,它不是一条select语句,而是被该语句所检索出来的结果集。
接下来会对这句话做出进一步解释。
2、游标的作用
比如有这么个语句
SELECT name,age from person where age>10;
这个语句返回的很可能是多条语句,那么我如何遍历每一条数据呢,这个时候就需要游标,游标可以理解成java的List<Object>集合,存储了每一个含有"name"和"age"的对象。接下来我们就可以遍历集合中每一个对象获取"name"和"age"。
3、使用游标
使用游标可以大致分为这么几步
声明游标
:这个过程实际上是没有遍历数据的,它只是定义要使用的select语句来获取数据。
打开游标
: 上面定义好后,那么这里就需要打开游标。这个过程用前面定义的select语句把数据实际检索出来。即这个步骤之后,我们就可以遍历游标中的数据了。
遍历数据
: 对于有数据的游标,根据需要取出各行的数据来进行一定的操作。
关闭游标
: 使用完游标后,一定要关闭游标。
4、游标语法
**1)声明游标 **
DECLARE cursor_name CURSOR FOR select_statement
这个语句声明一个游标。也可以在子程序中定义多个游标,但是一个块中的每一个游标必须有唯一的名字。声明游标后也是单条操作的,但是SELECT语句不能有INTO子句。