异常处理
异常是oracle数据库中的PL/SQL代码执行期间出现的错误。无论任何时候,当PL/SQL引擎执行代码时,都可能语带异常。当产生异常时,PL/SQL会将程序控制转到程序块的异常部分。
如果在程序块中没有异常处理,那么异常就会传播,或者发往程序块调用者。例如,如果用户创建的程序块中没有异常处理部分,那么任何异常都会被发送到SQL*Plus中,SQL*Plus处理异常的方法就是在屏幕上显示异常信息。
Oracle有3中类型的异常:
预定义异常:
Oracle为用户提供了大量的在PL/SQL中使用的预定义异常,已以检查用户代码失败的一般原因,他们都定义在Oracle的核心PL/SQL库中,用户可以在自己的PL/SQL异常处理部分使用名称对其进行标识。对这种异常情况的处理,无需再程序中定义,由Oracle自动将其引发。
非预定义异常:
即其他标准的Oracle错误。对这种异常情况的处理,需要用户在程序中定义,然后由oracle 自动将其引发。
自定义异常 :
如果程序设计人员认为某种情况违反了业务逻辑,则设计人员可明确定义并引发异常。
异常处理部分一般放在PL/SQL程序的后半部分,其结构如下:
EXCEPTION
WHEN first_exception THEN <code to handle first exception>
WHEN second_exception THEN <code to handle second exception>
WHEN OTHERS THEN<code to handle others exception>
END;
Oracle预定义的异常
信息
|
异常名称
|
说明
|
ORA-0001
|
DUP-VAL-ON-INDEX
|
试图破坏一个唯一性的限制
|
ORA-0051
|
Timeout-on-resource
|
在等待资源时发生超时
|
ORA-0061
|
Transaction-backed-out
|
由于发生死锁,事务被撤销
|
ORA-1001
|
Invalid_CURSOR
|
试图使用一个无效的游标
|
ORA-1012
|
Not-logged-on
|
没有连接到oracle
|
ORA-1017
|
Login-denied
|
无效的用户名口令
|
ORA-1403
|
NO-DATA-FOUND
|
SELECT INTO没有找到数据
|
ORA-1422
|
TOO_MANY_ROWS
|
SELECT INTO返回多行
|
ORA-1476
|
Zero-divide
|
试图被零除
|
ORA-1722
|
Invalid-NUMBER
|
转换一个数字失败
|
ORA-6500
|
Storage-error
|
内存不够引发的内部错误
|
ORA-6501
|
Program-error
|
内部错误
|
ORA-6502
|
Value-error
|
转换或截断错误
|
ORA-6504
|
Rowtype-mismatch
|
主变量和游标类型不兼容
|
ORA-6511
|
CURSOR-ALERADY-OPEN
|
试图打开一个已经打开的游标时,将产生这样的错误
|
ORA-6530
|
Access-INTO-null
|
试图为null对象属性赋值
|
分享到:
相关推荐
oracle的总结 增删改查 建立 很详细的 基础也有
里面是我个人学习中总结出来的经验,各种基础知识在里面都能找到,适合初学者,或者忘记基础了的朋友使用。我平常有什么不记得就在里面找的。
oracle基础命令总结
Oracle核心基础课程总结,全部是干货,下载并使用可节省您大量宝贵时间
Oracle 基础知识总结
oracle数据库基础命令 增、删、改、查等常用命令语法(纯手工打造) 基础中的基础,肯定有用
Oracle入门学习经典,数据库学习基础以及关键数据库语句。
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性...
oracle个人总结的基础知识,里面有些实例。过程,游标,包,试图,导入导出等等。分享给需要的人。
oracle中基础知识总结,快速入门参考
重要基础知识点总结,oracle11g数据库基础教程第2版重要知识点总结(电工社),自己总结的知识点,有问题请留言联系
系统的总结了oracle的基础知识,对oracle基础想补充的朋友应该很有帮助,语言简练,都是开发时常用到的知识
当年学习数据库的自己总结的基础笔记,非常好,非常实用。有兴趣的同学可以看下
oracle数据库基础总结[整理].pdf
Oracle基础知识(专题内容总结版)
很全的Oracle 学习基础,还有大量的练习用和面试用的题,对于想要研究Oracle数据的同志们可以下载使用学习,希望有帮助
oracle总结 易错点,经典例子 适合于Oracle初学者,同样适合有基础人复习 该文档简单名了,让人更容易更lijie
Oracle数据库的优化学习总结Oracle数据库的优化学习总结
还在厌恶Oracle难吗,还在担心Oracle语句忘记吗?次压缩包是本人学习所总结的最最基础的一些知识!是整合一本书的精髓,是初学者的法宝,别看文件小,作用是无量的!
oracle最全面的错误疑难解决方案和总结文档