ORACLE中的游标和异常.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
游标和异常 * 课程目标 游标概念和用法 游标属性 常见游标的应用 异常的分类 自定义异常的声明、触发和处理 * 游标概念 在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的职工 * 循环游标的应用 为了简化游标操作,PL/SQL语句提供了游标FOR循环语句。 工作原理: 一个游标FOR循环可以隐含的实现OPEN,FETCH,CLOSE游标以及循环处理结果集的功能。 其步骤是: 当进入循环时,自动打开一个已经声明的游标,并提取第一行游标数据;当处理完当前所提取的数据而进入下一次循环时,自动提取下一行游标数据;当提取完结果集中的所有数据行后结束循环,并自动关闭游标。除此之外,当在游标FOR循环语句中调用EXIT或GOTO语句,或者由于发生异常错误等原因而导致程序跳出循环时,PL/SQL均能自动关闭游标。 * 异常的分类 ORACLE中的异常可分为两类: Oracle预定义异常 用户自定义异常 * 用户自定义异常 用户定义的例外 用户定义的例外必须在DECLARE段中说明,在Begin段中

文档评论(0)

精品报告 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档