游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。

游标充当指针的作用。

尽管游标能遍历结果中的所有行,但他一次只指向一行。

用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。

游标机制允许用户逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。

优点

允许程序对由查询语句select返回的行集合中的每一行执行相同或不同的操作,而不是对整个行集合执行同一个操作。

提供对基于游标位置的表中的行进行删除和更新的能力。

游标实际上作为面向集合的数据库管理系统(RDBMS)和面向行的程序设计之间的桥梁,使这两种处理方式通过游标沟通起来。 


1、声明游标

DECLARE cursor_name CURSOR FOR select_statement (table)

这个语句声明一个游标。也可以在子程序中定义多个游标,但是一个块中的每一个游标必须有唯一的名字。

2、游标OPEN语句 

OPEN cursor_name  --打开之前声明的游标

3、游标FETCH语句

FETCH cursor_name INTO var_name[,var_name] --这个语句用指定的打开游标读取下一行,并且前进游标指针

4、游标CLOSE语句

CLOSE cursor_name  -- 关闭之前打开的