ORACLE中的游标及异常.pptVIP

  • 0
  • 0
  • 约1.66千字
  • 约 15页
  • 2017-06-07 发布于湖北
  • 举报
* * * * * * * * * * * 游标和异常 课程目标 游标概念和用法 游标属性 常见游标的应用 异常的分类 自定义异常的声明、触发和处理 游标概念 在PL/SQL块执行SELECT ,INSERT,UPDATE,DELETE语句时,ORACLE会在内存中为其分配上下文区(Context Area)。游标是指向该区的指针,或是命名一个工作区(Work Area),或是一种结构化数据类型。 它为应用程序提供了一种对具有多行数据的查询结果集中每行数据进行单独处理的方法,是设计交互式应用程序的常用编程接口。 游标优点 游标允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作 它还提供对基于游标位置而对表中数据进行删除或更新的能力 游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来使两个数据处理方式能够进行沟通 游标的分类 游标分为显示游标和隐式游标两种。 隐式游标是oracle为所有数据操纵语句(包括只返回单行数据的查询语句)自动声明和操作的一种游标。 显示游标是由用户声明和操作的一种游标。 在每个用户会话中,可以同时打开多个游标,其数量由数据库初始化参数文件中的OPEN_CURSORS参数定义。 显式游标工作进程 把游标与 SQL 语句的结果集相关联,并且定义游标的特征,如是否能够更新游标中的行。 执行 SQL 语句以填充游标。 检索想要查看的游标中的行。 根据需要,对游标中当前位置的行执行修改操作(更新或删除)。 关闭游标。 显式游标使用顺序 显示游标的使用顺序: 1、定义游标 2、打开游标 3、提取数据 4、关闭游标 DECLARE语句用于创建游标。 将光标与一查询语句联系起来,用来引入表中的记录。 语法 CURSOR 游标名 IS SELECT 子句; CURSOR 游标名(参数) IS SELECT COL2 WHERE COL1=参数; 定义显式游标 打开游标 OPEN 游标名; 提取数据 FETCH语句检索记录集中的行,每次一行,每执行一次FETCH,游标前进到记录集的下一行。 关闭游标 CLOSE 游标名; 使用显式游标 显式游标属性 显式游标属性 每一个显式游标有四种属性 %FOUND 查询语句(FETCH语句)返回记录 %NOTFOUND 查询语句(FETCH语句)无返 回记录,用于循环退出条件 %ROWCOUNT FETCH已获取的记录数 %ISOPEN 光标已打开标记 if not C%ISOPEN then open C; end if; Loop FETCH C INTO v_ename,v_sal; EXIT WHEN C%NOTFOUND; END LOOP; 属性使用 隐式游标处理 隐式游标处理 隐式游标是指在处理SQL时,不需定义游标,所使用的SQL语句包括:INSERT ,UPDATE,DELETE子句。 隐式游标属性 SQL%FOUND SQL%NOTFOUND 由执行上述语句结果引起 SQL%ROWCOUNT 隐式游标的使用 Begin update emp set sal=1200 where empno=1234; if SQL%NOTFOUND then insert into Errors(empno,sal) values(1234,1200); end if; End; 数据库中没有编码为1234的职工 * * * * * * * * * * *

文档评论(0)

1亿VIP精品文档

相关文档