PL/SQL 08 异常 exception

--PL/SQL错误
  编译时
  运行时

--运行时的出错处理
  EXCEPTION

--异常处理块
DECLARE
 …
BEGIN
 …
EXCEPTION
 WHEN OTHERS THEN
  handler_error(…);
END;

--用户自定义的异常
DECLARE
 e_TooManyStudents EXCEPTION;
 …
BEGIN
 …
 RAISE e_TooManyStudents;
 …
EXCEPTION
 WHEN e_TooManyStudents THEN
  …
END;

--预定义的ORACLE异常
ORA-0001
  DUP_VAL_ON_INDEX
ORA-0051
  TIMEOUT_ON_RESOURCE
ORA-1001
  INVALID_CURSOR

ORA-6533
  SUBSCRIPT_BEYOND_COUNT

--触发异常
RAISE exception_variable
DECLARE
  A EXCEPTION
BEGIN
  …
  RAISE A;
  …
  EXCEPTION
    WHEN A THEN
    …
END;

--处理异常
EXCEPTION
  WHEN e_TooManyStudents THEN
    INSERT INTO log_file(info) 
    VALUES(‘Major 1100 has ‘ || v_CurStudents || ’ max aloowed is ‘ || v_Max);
END;

--处理所有的异常
EXCEPTION
  WHEN e_TooManyStudents THEN
    …
  WHEN OTHERS THEN
    v_ErrCode := SQLCODE;
    v_ErrText := SUBSTR(SQLERRM, 1, 200);
    INSERT INTO log_file(code, message, info)
    VALUES(v_ErrCode, v_ErrText, ‘ORACLE Error’);
END;

时间: 2024-10-31 11:34:49

PL/SQL 08 异常 exception的相关文章

整理课堂笔记 pl/sql orcale异常

  1>>>>>异常错误处理 1 >预定义的异常处理 预定义说明的部分 ORACLE 异常错误 对这种异常情况的处理,只需在PL/SQL块的异常处理部分,直接引用相应的异常情况名,并对其完成相应的异常错误处理即可.例1:更新指定员工工资,如工资小于1500,则加100: DECLARE v_empno employees.employee_id%TYPE := &empno; v_sal employees.salary%TYPE;BEGIN SELECT sa

PL/SQL之异常

异常分为预定义异常和用户自定义异常.预定义异常是由系统定义的异常.由于他们已在STANDARD包中预定义了,因此,这些预定义异常可以直接在程序中使用,而不用在预定义部分声明.而用户自定义异常则需要在定义部分声明后才能在可执行部分使用.用户自定义异常对应的错误不一定是Oracle错误,例如,它可能是一个数据错误. 1.预定义异常 2.异常的声明 用户自定义异常必须先在定义部分声明,然后再使用. 语法: EXCEPTION exception EXCEPTION 用来指定声明的是异常 excepti

PL/SQL数据开发那点事

PL/SQL开发那点事----->PL/SQL开发过程中异常处理 用户编写的PL/SQL块在执行过程中不可避免地要发生一些错误. 这里涉及的错误并不是由于程序的语法错误引起的,而是因为处理的数据超出了处理的范围而引发的错误.如果给这样的错误起一个名字,这就是异常.当PL/SQL块在执行过程中检测到一个错误时,就会抛出相应的异常.在块中应当处理这样的异常,否则会引起应用程序运行停止. 异常处理程序 异常一般是在PL/SQL程序执行错误时由数据库服务器抛出,也可以在PL/SQL块中由程序员在一定的条

Oracle数据库之PL/SQL异常处理

Oracle数据库之PL/SQL异常处理 异常指的是在程序运行过程中发生的异常事件,通常是由硬件问题或者程序设计问题所导致的. PL/SQL程序设计过程中,即使是写得最好的程序也可能会遇到错误或未预料到的事件.一个健壮的程序都应该能够正确处理各种异常情况,并尽可能从中恢复. 1. 异常处理 异常处理是用来处理正常执行过程中未预料的事件.PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会自动终止整个程序运行. PL/SQL编程过程中,有三种类型的异常: 1.预定义异常 对这种异常情况的处

Oracle(六)PL/SQL、循环和游标

-- View:视图(虚表),不占用物理空间! --  如果没有权限 -- 使用dba登录  grant  create any  view to 用户名; create or replace  view  teacher_viewas select tname,sal from teacher --  查询视图select * from teacher_view ************=======PL/SQL=======************* --PL/SQL (Procedural

Oracle | PL/SQL编程

PL/SQL(Procedural Language/SQL,过程化SQL语言),是一种高级数据库程序设计语言,专门用于在各种环境下对ORACLE数据库进行访问.由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理. PL/SQL 中可引用的SQL语句 可用DML语句:SELECT INTO,INSERT,UPDATE,DELETE. 可用TCL语句:COMMIT,ROLLBACK,SAVEPOINT. 不能使用DDL语句. PL/SQL 块 PL/SQL块:声明部分

PL/SQL 编程(一)基础,变量,分支,循环,异常

SQL和PL/SQL: SQL 结构化查询语言(Structural Query Language),是用来访问和操作关系型数据库的一种标准通用语言,属于第四代语言(4GL).可以方便的调用相应语句来去的结果,特点是非过程化,使用的时候不用指明执行的具体方法,不用关注实现的细节,但是某些情况下满足不了复杂业务流程的需求. PL/SQL是 Procedure Language & Structured Query Language 的缩写.属于第三代语言(3GL),是一种过程化语言.PL/SQL是

[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) 得到了大家的强力支持与建议,万分感谢.接下来介绍下一篇:oracle pl/sql异常处理部分,还望大家一定

【转】[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

[推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) 得到了大家的强力支持与建议,万分感谢.接下来介绍下一篇:oracle pl/sql异常处理部分,还望大家一定要支持与推荐呀~! 本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义的异常