12-PLSQL游标和异常答辩.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 概要 PL/SQL 通过异常和异常处理机来执行错误的处理。 预定义的异常是由Oracle服务器定义的错误条件式。 非预定义的异常是其它标准 Oracle服务器错误。面向应用程序或者是创建应用程序时可以预见到的异常属于自定义异常。 错误一旦发生(异常已经发布过),控制就转向 PL/SQL块的异常处理部分。 如果在异常部分有与某错误相应的异常处理机,则就执行该处理机的代码。如果在当前块的异常部分没有与这个错误相对应的异常处理机,控制就会转向外部块。如果在外部块中也没有发现该处理机, PL/SQL就会报错。 * * * * SET SERVEROUTPUT ON DECLARE V_ename VARCHAR2(10); V_sal NUMBER(5); CURSOR emp_cursor IS SELECT ename,sal FROM emp ORDER BY sal DESC; BEGIN OPEN emp_cursor; FOR I IN 1..3 LOOP FETCH emp_cursor INTO v_ename,v_sal; DBMS_OUTPUT.PUT_LINE(v_ename||,||v_sal); END LOOP; CLOSE emp_cursor; END; / KING,5000 SCOTT,3000 FORD,3000 PL/SQL 过程已成功完成。 * SET SERVEROUTPUT ON DECLARE CURSOR emp_cursor IS SELECT empno, ename FROM emp; BEGIN FOR Emp_record IN emp_cursor LOOP DBMS_OUTPUT.PUT_LINE(Emp_record.empno||,||Emp_record.ename); END LOOP; END; * SET SERVEROUTPUT ON BEGIN FOR Emp_record IN (SELECT empno, ename FROM emp) LOOP DBMS_OUTPUT.PUT_LINE(Emp_record.empno||,|| Emp_record.ename); END LOOP; END; * 综述 异常是在PL/SQL中的一个标识符,在块的运行期间产生。当PL/SQL发生异常时,块就停止执行,但是可以指定异常处理机执行完最后的代码。 两种触发异常方法: 发生了 Oracle 错误,就会自动触发相关的异常。例如,使用在SELECT语句时,如果没有从数据库中检索到行,就会发生ORA-01403的错误 ,这时PL/SQL就会引发一个NO_DATA_FOUND 的异常。 可以在块中使用RAISE语句显式的触发异常。被触发的异常可以是预定义的异常,也可以是自定义的异常。 * 截获异常 如果在块的执行部分异常被触发,当前的块就会转去执行异常处理部分的相应异常处理机。如果PL/SQL成功处理了异常,就不会把异常传播给外部块或环境,从而,PL/SQL块正常结束。 异常的传播 如果在块的执行部分异常被触发, 然而没没有相应的异常处理机,块就会异常终止,而将异常传播给调用环境。 * 异常的类型 可以编写一段异常处理程序,以避免程序在运行期间中断。异常有三种类型: 异常 处理 Oracle 服务器的 在PL/SQL代码中出现 不需声明,可以由Oracle服务器 预定义异常 的将近20个错误 隐式地触发 Oracle 服务器 其它所有非标准的 Oracle 在声明部分声明,可以由Oracle服务器 没有预定义的异常 服务器错误 隐式地触发 自定义异常 由开发者决定的异常情形 在声明部分声明,显式地触发 附注: 一些客户方PL/SQL的应用工具,如Oracle Developer Forms有自己定义的异常。 * 异常的类型 可以编写一段异常处理程序,以避免程序在运行期间中断。异常有三种类型: 异常 描述 处理 Oracle 服务器的

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档