异常
异常(exception)是一种PL/SQL
标识符,它用于处理PL/SQL
程序的运行错误。Oracle提供了预定义异常、非预定义异常和自定义异常等三种异常类型,其中预定义异常用于处理常见的Oracle错误,非预定义异常用于处理预定义异常所不能处理的Oracle错误,自定义异常用于处理与Oracle错误无关的其他情况。
1.语法
EXCEPTION
WHEN exception1 [OR exception2...] THEN
statement1;
statement2;
...
WHEN exception3 [ OR exception4...] THEN
statement1;
statement2;
...
WHEN OTHERS THEN
statement1;
statement2;
...
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
2.预定义异常
PL/SQL为开发人员提供了20多个预定义异常,每个预定义异常都对应一个Oracle错误。下面是常见的预定义异常:
(1)NO_DATA_FOUND
:该异常对应于ORA-01403
错误。当执行SELECT INTO
未返回行,或者引用未初始化的PL/SQL表元素时,会隐含地触发该异常。
(2)TOO_MANY_ROWS
:该异常对应于ORA-01422
错误。当执行SELECT INTO
语句时,如果返回超过一行,则会触发该异常。
(3)DUP_VAL_ON_INDEX
:该异常对应于ORA-00001
错误。当在惟一索引所对应的列上键入重复值时,会隐含触发该异常。
(4)ZERO_DIVIDE
:该异常对应ORA-01476
错误。如果使用数字值除0,则会隐含触发该异常。
(5)INVALID_CURSOR
:该异常对应ORA-01001
错误。当试图在不合法的游标上执行操作时,会隐含地触发该异常。例如,从未打开的游标提取数据或者关闭未打开的游标,则会触发该异常。
3.非预定义异常
当使用预定义异常时,只能处理21个Oracle错误。为了处理其他Oracle错误,必须使用非预定义异常。
使用步骤:
定义异常(e_integrity EXCEPTION
)—>关联异常和错误(PRAGMA EXCEPTION_INIT(e_integrity,-2291)
)—>引用异常(WHEN e_integrity THEN statement1...
;
4.自定义异常
自定义异常与Oracle错误没有任何关联,它是由开发人员为特定情况所定义的异常。
使用步骤:
定义异常(e_no_employee EXCEPTION
)—>显式触发异常(RAISE e_no_employee
)—>引用异常(WHEN e_no_employee THEN statement1...
;
今天的文章oracle exception用法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/24629.html