游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中。
1. 定义游标
游标作为一种数据类型,首先必须进行定义,其语法如下。
cursor 游标名 is select 语句;
cursor是定义游标的关键词,select是建立游标的数据表查询语句命令。
例如:
2. 打开游标
要使用创建好的游标,接下来要打开游标,语法结构如下:
open 游标名;
打开游标的过程有以下两个步骤:
(1)将符合条件的记录送入内存。
(2)将指针指向第一条记录。
3. 提取游标数据
要提取游标中的数据,使用fetch命令,语法形式如下:
fetch 游标名 into 变量名1,变量名2...;
或
fetch 游标名 into 记录型变量名;
4. 关闭游标
使用完游标后,要关闭游标,使用close命令,语法格式如下:
close 游标名;
5. 游标的属性
游标提供的一些属性可以帮助编写PL/SQL程序,游标属性的使用方法为:游标名[属性],例如mycursor%isopen,主要的游标属性如下:
(1)%isopen属性
该属性功能是测试游标是否打开,如果没有打开游标就使用fetch语句将提示错误。
(2)%found属性
该属性功能是测试前一个fetch语句是否有值,有值将返回true,否则为false。
(3)%notfound属性
该属性是%found属性的反逻辑,常被用于退出循环。
(4)%rowcount属性
该属性用于返回游标的当前数据行