[bbk5364]第19集 - Chapter 08 - Handling Exceptions(02)
2013-04-24 17:27
525 查看
Autonomous Transactions
RAISE_APPLICATION_ERRORDECLARE v_deptno NUMBER := 500; v_name VARCHAR2(20) := 'Testing'; e_invalid_department EXCEPTION; PRAGMA EXCEPTION_INIT(e_invalid_department,-20188); BEGIN UPDATE dept SET department_name = v_name WHERE department_id = v_deptno; IF SQL%NOTFOUND THEN RAISE_APPLICATION_ERROR(-20188,'This is your Error Message!'); END IF; COMMIT; EXCEPTION WHEN e_invalid_department THEN --DBMS_OUTPUT.PUT_LINE(SQLCODE || '->' || SQLERRM); DBMS_OUTPUT.PUT_LINE(SQLERRM); END; /
解析:
e_invalid_department EXCEPTION; --定义一个EXCEPTION类型的变量,名称叫做e_invalid_department;
PRAGMA EXCEPTION_INIT(e_invalid_department,-20188); --通过此函数指令,将-20188与异常类型变量e_valid_department进行关联;
RAISE_APPLICATION_ERROR(-20188,'This is your Error Message!'); --通过此过程,就可以将ERROR CODE: -20188与ERROR MESSAGE:'This is your Error Message进行关联';
完成上述几步之后,在后面的代码块中,就可以使用Oracle Server build in`s function:SQLCODE and SQLERRM;
相关文章推荐
- [bbk5300]第17集 - Chapter 08 - Handling Exceptions(00)
- [bbk5355]第18集 - Chapter 08 - Handling Exceptions(01)
- [bbk2668] 第53集 - Chapter 13-Using Oracle Blokcs Efficeintly[02]
- Chapter3 - Exceptions And Exception Handling
- [bbk2225] 第39集 - Chapter 10-Using Resource Manager(02)
- [bbk3206] 第69集 -Chapter 17-Monitoring and Detecting Lock Contention(02)
- [bbk2300] 第43集 - Chapter 11-SQL Statement Tuning(02)
- [bbk2192] 第33集 - Chapter 09-Optimizing Sore Perations(02)
- [bbk2342] 第47集 - Chapter 09-Optimizing Sore Perations(02)
- [bbk2906]第2集 - Chapter 02 - 介绍RAC概述
- [bbk3153] 第62集 - Chapter 15-Application Tuning(02)
- Handling unhandled exceptions and signals in iOS App
- error: exception handling disabled, use -fexceptions to enable
- Chapter 02 Looping and counting
- 【C#基础】【语法02】课后作业题 01-08
- 20170215C语言提升08_指针_02数组指针及指针数组及函数指针
- Error Handling with C++ Exceptions, Part 1
- IOS:Handling unhandled exceptions and signals
- 解决NDK出现error: exception handling disabled, use -fexceptions to enable的问题
- AT24C01/02/04/08/16/32系列EEPROM驱动程序