Oracle显式游标和隐式游标.pdfVIP

  • 4
  • 0
  • 约3.92千字
  • 约 5页
  • 2020-09-10 发布于天津
  • 举报
Oracle 显式游标和隐式游标 SQL 是用于访问 Oracle 数据库的语言, PL/SQL 扩展和加强了 SQL 的功能,它 同时引入了更强的程序逻辑 , 下面在本文中将对游标的使用进行一下讲解 ,希望 可以和大家共同学习进步。 游标字面理解就是游动的光标。游标是 SQL 的一个内存工作区,由系统或 用户以变量的形式定义。 在某些情况下, 需要把数据从存放在磁盘的表中调到计 算机内存中进行处理, 最后将处理结果显示出来或最终写回数据库。 这样数据处 理的速度才会提高, 否则频繁的磁盘数据交换会降低效率。 用数据库语言来描述 游标就是映射在结果集中一行数据上的位置实体, 有了游标, 用户就可以访问结 果集中的任意一行数据了, 将游标放置到某行后, 即可对该行数据进行操作, 例 如提取当前行的数据等。 游标有两种类型: 显式游标和隐式游标。 游标一旦打开, 数据就从数据库中 传送到游标变量中, 然后应用程序再从游标变量中分解出需要的数据, 并进行处 理。 当系统使用一个隐式游标时, 可以通过隐式游标的属性来了解操作的状态和 结果,进而控制程序的流程。隐式游标可以使用名字 SQL 来访问,但要注意, 通过 SQL 游标名总是只能访问前一个处理操作或单行 SELECT 操作的游标属 性。所以通常在刚刚执行完操作之后,立即使用 SQL 游标名来访问属性。游标 的属性有四种 ,分别是 SQL %ISOPEN ,SQL %FOUND ,SQL %NOTFOUND , SQL %ROWCOUNT 。 SQL%ISOPEN 返回的类型为布尔型 ,判断游标是否被打开,如果打 开 %ISOPEN 等于 true, 否则等于 false, 即执行过程中为真 ,结束后为假。 SQL%NOTFOUND 返回值为布尔型 ,判断游标所在的行是否有效,如果有 效,则 %FOUNDD 等于 true ,否则等于 false, 即与%FOUND 属性返回值相反。 SQL%FOUND 返回值的类型为布尔型, 值为 TRUE 代表插入 删除 更新或 单行查询操作成功。 SQL%ROWCOUNT 返回值类型为整型,返回当前位置为止游标读取的记 录行数 ,即成功执行的数据行数。 示例代码如下: 记录并不保存在数据库中, 它与变量一样, 保存在内存空间中, 在使用记录 时候,要首先定义记录结构, 然后声明记录变量。 可以把 PL/SQL 记录看作是一 个用户自定义的数据类型。 显式游标的使用总共分 4 个步骤: 1.声明游标 在 DECLEAR 部分按以下格式声明游标: CURSOR 游标名 [(参数 1 数据类型 [参数 2 数据类型 ...])] IS SELECT 语句 ; 参数是可选部分,所定义的参数可以出现在 SELECT 语句的 WHERE 子句 中。如果定义了参数,则必须在打开游标时传递相应的实际参数。 SELECT 语句是对表或视图的查询语句,甚至也可以是联合查询。可以带 WHERE 条件、 ORDER BY 或 GROUP BY 等子句,但不能使用 INTO 子句。 在 SELECT 语句中可以使用在定义游标之前定义的变量。 例:

文档评论(0)

1亿VIP精品文档

相关文档