李艳杰
(山东华宇工学院,山东 德州 253034)
数据库中会经常用到查询,查询的结果是符合条件的多条记录的集合。但有时在查询时并不需要把所有符合条件的记录全部取出,或是需要逐条获取记录的值,此时普通查询实现不了,需要用到游标来逐条读取记录值,并对逐条记录进行使用。在数据库中,游标是系统为用户开设的缓冲区域,存放SQL 语句的执行结果,实际上,游标是一种能从包括多条数据记录结果集中每次提取一条记录的机制,游标允许应用程序对查询语句select 返回的行结果集中每一条记录进行相同或不同的操作,而不是一次对整个结果集进行同一种操作,从而可以发挥每一条记录的作用。游标通常体现在存储过程中。
MySQL中使用declare 关键字来声明游标,其语法结构及解释如下所示:
Declare 游标名称 cursor for select语句。
注意:关键字是不能少的,游标名称符合标识符的定义即可。select语句根据需求不同,此时内存便分配一块空间来存储返回的结果集。这块空间也可以认为是一个虚表,这个虚表便是游标。
打开游标的关键字为open,其语法结构及解释如下所示:
Open 游标名称。
打开游标即激活查询并识别游标,此时游标中的指针指向查询出的结果集中第一行记录的前面。
使用游标的关键字为fetch和into,其语法结构及解释如下所示:
Fetch 游标名称 into 变量。
注意:第一次使用时,指针指向结果集中第一条记录并提取里面的值,每调用一次,指针会下移一条记录,此时的变量个数与select语句后面的字段个数一致。……