第章PLSQL编程基础3.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文档。上传文档
查看更多
Oracle 数据库系统 第10章 PL/SQL编程基础 --PL/SQL的游标和异常 本章要点 区分隐式游标和显式游标。 掌握如何创建游标 会编写游标式的FOR循环 会编写带有参数的游标 讨论PL/SQL异常及其类型 异常声明、触发和处理过程 游标 Oracle 服务器所执行的每一个 SQL 语句都有唯一的游标与之相对应: 隐式游标:为每一个DML语句和PL/SQL语句都声明一个隐式的游标。 显式游标: 由程序员声明并命名。 显式游标的功能 显式游标的控制 显式游标的控制 游标的声明 语法: 在游标声明中不能使用INTO子句。 如果需要按指定的次序处理行,可在查询中使用ORDER子句。 游标的声明 举例: 打开游标 语法: 打开游标来执行查询并标识活动集。 如果没有要返回的行,不会出现异常。 提取后,使用游标的属性检测输出。 从游标中提取数据 语法: 检索当前行,把值赋给变量。 包含相同数量的变量。 将每一个变量和相应的列进行位置匹配。 检测游标中是否包含行。 从游标中提取数据 举例 从游标中提取数据 依次检索10个员工: 关闭游标 语法: 处理完活动集中的数据后,应该关闭游标。 如果需要,可以再次打开该游标。 游标一旦关闭,不可再从游标中提取数据。 显式游标的属性 多重提取的控制 使用循环从显式游标中处理多行数据。 每次仅提取一行数据。 使用 %NOTFOUND 属性来检测一个不成功的提取操作。 使用显式游标的属性检测每一次提取是否成功。 %ISOPEN 属性 仅当游标处于打开状态时才可以从中提取数据。 在执行提取操作之前,使用 %ISOPEN 游标属性,检测游标是否已被打开 举例: %NOTFOUND 和 %ROWCOUNT 属性 使用 %ROWCOUNT 游标属性检测行的确切数量。 使用 %NOTFOUND 游标属性决定何时退出循环。 游标属性举例 依次检索前10个员工 游标和记录 将提取的行值存入一个PL/SQL RECORD 中能方便地处理活动集中的行。 举例: 游标式的FOR循环 语法: 游标式的 FOR 循环可以更方便地处理显式游标。 隐式地打开,提取和关闭游标。 隐式声明记录。 含有游标的FOR循环 举例: 依次检索所有员工 使用子查询的游标式FOR循环 不需声明游标。 举例: 带有参数的游标 语法: 在游标处于打开状态时,执行查询语句,将参数的值传递给游标。 多次打开显式变量,每次活动集都不同。 带有参数的游标 举例: 将部门号和工作名传递给WHERE子句。 带有参数的游标 DECLARE job_emp emp . job %TYPE : = ‘CLERK’ ; v_ename emp . ename %TYPE; CURSOR c1 (v_deptno NUMBER , v_job VARCHAR2) IS SELECT . . . 打开游标:OPEN c1 (10, job_emp) ;OPEN c1 (20, ‘ANALYST’) ; 可以在游标式 FOR 循环中将参数传递给游标: DECLARE CURSOR c1 (v_deptno NUMBER , v_job VARCHAR2) IS SELECT . . . BEGIN FOR emp record IN c1 (10, ‘ ANALYST‘) LOOP . . . FOR UPDATE 子句 语法: 在事务执行期间可以显式锁定以拒绝访问。 在更新或删除行时要锁定该行。 FOR UPDATE 子句 举例: WHERE CURRENT OF 子句 语法: 使用游标更新或删除当前行。 首先要在游标中使用 FOR UPDATE 子句锁定行。 使用 WHERE CURRENT OF 子句从显式游标中引用当前行 WHERE CURRENT OF 子句 DECLARE CURSOR sal_cursor IS SELECT sal FROM emp WHERE deptno = 30 FOR UPDATE OF sal NOWAIT; BEGIN FOR emp_record IN sal_cursor LOOP UPDATE emp SET sal = emp_record.sal * 1.10 WHERE CURRENT OF sal_cursor; END LOOP; COMMIT; END; 使用子查询的游标 小结 游标类型: 隐式游标:为每一个DML语句和单行查询都声明一个隐式的游标。 显式游标:用来查询空行

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档