非预定义的异常处理

来源:互联网 发布:淘宝披露函模板 编辑:程序博客网 时间:2024/05/18 03:14

对于这类异常情况的处理,首先必须对非定义的ORACLE错误进行定义 

步骤如下:
在PL/SQL 块的声明部分定义异常情况:
<异常情况>  EXCEPTION; 
将其定义好的异常情况,与标准的ORACLE错误联系起来,使用EXCEPTION_INIT语句 
PRAGMA EXCEPTION_INIT(<异常情况>, <错误代码>); 
在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。

例:DECLARE
   v_deptno dept.deptno%TYPE :=&deptno;
   deptno_remaining EXCEPTION;
   PRAGMA EXCEPTION_INIT(deptno_remaining, -2292);
   /* -2292 是违反一致性约束的错误代码 */
BEGIN
   DELETE FROM dept WHERE deptno=v_deptno;
EXCEPTION
   WHEN deptno_remaining THEN 
      DBMS_OUTPUT.PUT_LINE('违反数据完整性约束!');
   WHEN OTHERS THEN
      DBMS_OUTPUT.PUT_LINE(SQLCODE||’---‘||SQLERRM);
END;  

原创粉丝点击