oracle学习笔记--游标(一)

来源:互联网 发布:2017年win10平板 知乎 编辑:程序博客网 时间:2024/05/22 11:50
  游标
close cursor_name
关闭的游标可以再次被打开,因此,可以多次创建活动集。任何对关闭了的游标的操作都会引发INVALID_CURSOR错误。
每个用户可打开的游标的数量都是有限制的,其数量由数据库参数域中的OPEN_CURSORS参数来决定,缺省时OPEN_CURSORS=50.
游标的属性
每个游标有四个属性可以用于访问游标的环境区域:
(1)%NOTFOUND 为了从一个显式游标中处理多行数据,可以定义一个循环,每次循环提取一行数据。对于不成功的提取,%NOTFOUND属性的值为TRUE.
(2)%FOUND 对于成功的数据提取,返回TRUE.
(3)%ROWCOUNT 返回当前从活动集合获取的行数。
(4)%ISOPEN 仅当游标处于打开状态时,才可以从中提取数据。可以使用%ISOPEN游标属性来检测游标是否已被打开。
注意:%ISOPEN返回游标的状态。并不是每次都需要检查%ISOPEN。

游标式的FOR循环
游标式的FOR循环,它的循环索引声明为%ROWTYPE的记录,然后隐式地打开游标,并且从活动集反复提取行的值,当所有行都处理完后,游标将自动关闭。当提取最后一行时,循环会自动终止。
语法:FOR record_name IN cursor_name LOOP
      ...
      END LOOP;
(1)不需要声明控制循环的记录,记录的作用域仅限于FOR循环内部。
(2)如果需要,为游标提供参数,参数放在FOR语句中游标名后的圆括号内。
(3)当需手工处理游标时,不能使用游标式的FOR循环。

原创粉丝点击