ORACLE PL/SQL 例外处理
1) 基本结构
BEGIN
... --语句
EXCEPTION -- 例外处理
WHEN ...
...
WHEN OTHERS
...
END;
2) 常用预定义例外
EXCEPTION
WHEN CURSOR_ALREADY_OPEN THEN -- ORA-06511 SQLCODE = -6511 游标已经打开
...
WHEN DUP_VAL_ON_INDEX THEN -- ORA-00001 SQLCODE = -1 向唯一索引中插入重复数据
...
WHEN INVALID_CURSOR THEN -- ORA-01001 SQLCODE = -1001 非法游标操作
...
WHEN INVALID_NUMBER THEN -- ORA-01722 SQLCODE = -1722 字符向数字转换失败
...
WHEN LOGIN_DENIED THEN -- ORA-01017 SQLCODE = -1017
...
WHEN NO_DATA_FOUND THEN -- ORA-01403 SQLCODE = +100 没有找到数据
...
WHEN NOT_LOGGED_ON THEN -- ORA-01012 SQLCODE = -1012
...
WHEN PROGRAM_ERROR THEN -- ORA-06501 SQLCODE = -6501 程序错误
...
WHEN STORAGE_ERROR THEN -- ORA-06500 SQLCODE = -6500
...
WHEN TIMEOUT_ON_RESOURCE THEN -- ORA-00051 SQLCODE = -51
...
WHEN TOO_MANY_ROWS THEN -- ORA-01422 SQLCODE = -1422 返回多行
...
WHEN TRANSACTION_BACKED_OUT THEN -- ORA-00061 SQLCODE = -61
...
WHEN VALUE_ERROR THEN -- ORA-06502 SQLCODE = -6502 数值转换错误
...
WHEN ZERO_DIVIDE THEN -- ORA-01476 SQLCODE = -1476 被零除
...
WHEN OTHERS THEN -- 其它任何错误的处理
...
END;
3) 用户定义的例外
DECLARE
FIND_DATA_EMP EXCEPTION;
BEGIN
IF ... THEN
RAISE FIND_DATA_EMP;
END IF;
EXCEPTION
WHEN LOB_NO_LOCKED THEN
...
END;
4) EXCEPTION_INIT的使用
PRAGMA EXCEPTION_INIT(例外名, ORACLE错误号);
注:PRAGMA 是一个编译器命令,可以认为是对编译器的一个注释。
例:
DECLARE
ZERO_DIVIDE1 EXCEPTION;
PRAGMA EXCEPTION_INIT(ZERO_DIVIDE1, -1476);
BEGIN
...
EXCEPTION
WHEN ZERO_DIVIDE1 THEN
...
END;
分享到:
相关推荐
PL/SQL Developer是一款由Allround Automations公司开发的专门针对Oracle数据库进行开发和管理的集成开发环境(IDE)。它提供了一个高效、用户友好的界面,用于编写、调试、执行和管理PL/SQL代码。PL/SQL是Oracle...
Oracle PL/SQL是一种强大的数据库编程语言,用于在Oracle数据库中执行复杂的逻辑和处理。它扩展了标准SQL,提供了声明变量、控制流程结构(如条件语句和循环)、处理异常以及与数据交互的能力。 1. **语句块**: -...
处理例外 10.1 例外简介 10.2 处理预定义例外 10.3 处理非预定义例外 10.4 处理自定义例外 10.5 使用例外函数 10.6 PL/SQL编译警告 10.7 习题 第11章 开发子程序 11.1 开发过程...
PLSQL是专用于Oracle服务器,在SQL基础之上,添加了一些过程化控制语句,叫PLSQL,过程化包括有:类型定义,判断,循环,游标,异常或例外处理。。。 PLSQL强调过程 SQL是第四代命令式语言,无法显示处理过程化的...
PL/SQL是Oracle在标准SQL语言上的扩展,不仅允许嵌入SQL语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,使得它的功能变得更加强大。 PL/SQL的介绍 PL/SQL的优点: * 提高...
总的来说,Oracle PL/SQL的异常处理机制是提高代码质量和健壮性的关键工具,它使得开发者能够优雅地处理错误,确保程序在异常情况下的稳定运行。通过熟练掌握异常处理,开发者可以编写出更可靠、更易维护的数据库...
pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。 二、为什么要学pl/sql 1.提高应用程序的运行性能 2.模块化的设计思想...
PL/SQL(Procedural Language for SQL)是一种专为Oracle设计的过程化语言,结合了SQL的数据处理功能和传统过程化语言的流程控制功能。它支持变量定义、条件判断、循环控制等高级特性,并且可以将SQL语句嵌入其中,...
PL/SQL块的结构可以看作类似于Java中的类结构,其中定义部分和例外处理部分可选,执行部分是必需的。 PL/SQL实例展示了如何编写简单的到复杂的块,例如: 1. 只包含执行部分的块,如使用`DBMS_OUTPUT.PUT_LINE`输出...
PL/SQL的程序单元是块(Block),由定义部分、执行部分和例外处理部分组成。定义部分可选,执行部分是必须的,例外处理部分也是可选的。例如: ```sql DECLARE v_salary NUMBER; BEGIN -- 执行部分 SELECT ...
- **概述**:PL/SQL是Oracle对SQL的扩展,它允许开发者编写包含控制流、变量、异常处理等的代码块,这些代码块可以像子程序一样调用。它的基本结构是逻辑块,由声明部分、执行部分和异常处理部分组成。 - **特点**...
在Oracle数据库的PL/SQL编程中,异常处理是非常重要的一个环节,它可以帮助我们更好地控制程序流程,提高程序的健壮性和稳定性。本文将详细解析Oracle PL/SQL中的各种异常类型及其应用场景。 #### 标题:Oracle异常...
1. **高性能与事务处理能力**:PL/SQL作为一种高性能的事务处理语言,能在任何Oracle环境中运行,并支持所有的数据处理命令。它允许开发者利用程序单元来处理SQL的数据定义和数据控制元素,从而提升数据处理效率和...
9. **多语言支持**:尽管标题和描述中未明确提及,但通常IDEs会支持多种语言,PL/SQL Developer也不例外,可能包含对多种语言的界面支持。 10. **自定义设置**:用户可以根据个人喜好和工作需求调整界面布局,定制...
PL/SQL 是 Oracle 在标准 SQL 语言上的扩展,提供了更多的编程功能,例如定义变量和常量、使用条件语句和循环语句、例外处理等。使用 PL/SQL 可以提高开发效率和数据库性能。 PL/SQL 的优点 1. 减少网络传输的 SQL...
2.4 例外处理 22 2.5 一个完整的PL/SQL实例 24 第三章 oracle存储过程讨论 25 3.1 函数(FUNCTION) 26 3.1.1 用户函数创建,编译,删除 26 3.1.2 参数传递 27 3.2 存储过程 28 3.3 包 29 3.3.1 创建包 30 3.3.2 ...