1、ORALCE自带一些命名的系统异常,如下:
OracleExceptionName
|
OracleError
|
Explanation
|
中文注释
|
DUP_VAL_ON_INDEX
|
ORA-00001
|
YoutriedtoexecuteanINSERTorUPDATEstatementthathascreatedaduplicatevalueinafieldrestrictedbyauniqueindex.
|
插入或者更新语句,与唯一索引相冲突。
|
TIMEOUT_ON_RESOURCE
|
ORA-00051
|
Youwerewaitingforaresourceandyoutimedout.
|
等待资源超时
|
TRANSACTION_BACKED_OUT
|
ORA-00061
|
Theremoteportionofatransactionhasrolledback.
|
远程交易的部份交易已经回滚
|
INVALID_CURSOR
|
ORA-01001
|
Youtriedtoreferenceacursorthatdoesnotyetexist.Thismayhavehappenedbecauseyou'veexecutedaFETCHcursororCLOSEcursorbeforeOPENingthecursor.
|
引用一个不存在的游标,如FETCH或者是CLOSE在其OPEN之前等。
|
NOT_LOGGED_ON
|
ORA-01012
|
YoutriedtoexecuteacalltoOraclebeforeloggingin.
|
在登陆ORACLE之前执行调用错误
|
LOGIN_DENIED
|
ORA-01017
|
YoutriedtologintoOraclewithaninvalidusername/passwordcombination.
|
登陆时用户名或者密码非法。
|
NO_DATA_FOUND
|
ORA-01403
|
Youtriedoneofthefollowing:
1.YouexecutedaSELECTINTOstatementandnorowswerereturned.
2.Youreferencedanuninitializedrowinatable.
3.YoureadpasttheendoffilewiththeUTL_FILEpackage.
|
执行查询无数据、引用一个末初使化的表、通过UTL_FILE包调用到尾的文件
|
TOO_MANY_ROWS
|
ORA-01422
|
YoutriedtoexecuteaSELECTINTOstatementandmorethanonerowwasreturned.
|
采用SELECTINTO语句,但返回的记录超过了1条
|
ZERO_DIVIDE
|
ORA-01476
|
Youtriedtodivideanumberbyzero.
|
0为除数
|
INVALID_NUMBER
|
ORA-01722
|
YoutriedtoexecuteanSQLstatementthattriedtoconvertastringtoanumber,butitwasunsuccessful.
|
将字符串转换成数字,但是转换失败
|
STORAGE_ERROR
|
ORA-06500
|
Youranoutofmemoryormemorywascorrupted.
|
内存不足
|
PROGRAM_ERROR
|
ORA-06501
|
Thisisageneric"ContactOraclesupport"messagebecauseaninternalproblemwasencountered.
|
系统自身程序错误
|
VALUE_ERROR
|
ORA-06502
|
Youtriedtoperformanoperationandtherewasaerroronaconversion,truncation,orinvalidconstrainingofnumericorcharacterdata.
|
在执行转换、截断、非法转换数据到文本出错
|
CURSOR_ALREADY_OPEN
|
ORA-06511
|
Youtriedtoopenacursorthatisalreadyopen.
|
打开一个已经打开的游标
|
<!--EndFragment-->
2、也可以采用自定义的异常的名字:
declare
myexception exception;
begin
if 1<>2 then
raise myexception;
end if;
exception
when myexception then
/*注:raise_application_error的语法为raise_application_error(erorcd in int,erortx in varchar 2),其中erorcd的值为20001到20999*/
raise_application_error(20001,'my exception happens');
when others then
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
end
3、存储过程可能要涉及到层层调用,因此在每一次都需要写异常处理,这让程序会更健壮。
分享到:
相关推荐
oracle笔记异常处理,异常处理的代码案例和知识点笔记!
Oracle异常处理是数据库管理和应用程序开发中的关键环节,它涉及到对程序执行过程中可能出现的错误和异常情况进行有效管理和响应。Oracle数据库,作为一款广泛使用的商业关系型数据库管理系统,提供了强大的异常处理...
Oracle 存储过程异常处理是指在 Oracle 数据库中使用存储过程时出现的异常情况的处理方法。异常处理是指在程序执行过程中出现错误或异常时,采取相应的处理措施,以确保程序的可靠性和安全性。 一、异常的优点 ...
能够检测并且进行错误处理的叫做异常,一般分为用户自定义异常,系统预定义异常。 预定义异常 一:除数是0的系统异常 declare v_number Number(2):=10; v_zero Number(2):=0; v_result Number...
根据ORACLE提供的异常处理机制,我们可以将异常分为三类: 1. **预定义异常**:这是由ORACLE系统预先定义好的一组异常,当特定的错误发生时,系统会自动抛出相应的异常。例如,在尝试插入一条已经存在的记录到具有...
oracle异常处理步骤自己总结的,不太成熟,大家可以不看,只是我的备忘录
Oracle 存储过程 exception 异常处理大全及实例经典最终是 Oracle 数据库中存储过程的异常处理机制。异常处理是指在程序执行过程中出现的错误或未预料到的事件,需要通过异常处理机制来捕捉和处理这些错误,以确保...
这个是oracle课成异常处理章节后面的部分习题答案,大概四五道题的答案。
总结来说,Oracle异常处理是通过预定义和自定义异常来实现的,它增强了程序对错误的响应能力,帮助开发者在遇到问题时能够有序地处理,避免程序崩溃,保证系统的正常运行。理解并熟练掌握Oracle的异常处理机制,对于...
ORACLE 用户自定义异常小例子 1.进入pl/sql测试窗口 2.执行语句 declare empname varchar2(255); customize_exp EXCEPTION; –自定义异常 begin FOR c IN (select d.* from scott.dept d) ...
#### 一、Oracle异常处理机制简介 在Oracle PL/SQL编程中,异常处理是一项非常重要的功能。它可以帮助开发者捕获并处理程序运行时可能发生的错误情况,确保应用程序能够稳定可靠地运行。Oracle PL/SQL支持多种类型...
Oracle 异常处理是 PL/SQL 编程中不可或缺的一部分,它允许开发者优雅地处理程序运行时遇到的各种错误。在 PL/SQL 中,异常处理主要分为预定义异常、非预定义异常以及自定义异常。 预定义异常是 Oracle 为常见错误...
在Oracle数据库中,游标(Cursor)和异常处理(Exception Handling)是PL/SQL编程的重要组成部分,它们在处理复杂逻辑和确保数据完整性方面起到关键作用。以下是对这两个主题的详细阐述。 首先,让我们来理解Oracle...
Others 异常处理器将对所有语法的异常情态进行处理,一般放在异常处理的最后,可以保证所有的错误都被检测到。 Oracle 异常及触发器提供了一种有效的错误处理机制,可以帮助程序员更好地处理程序执行过程中的错误。
在Oracle PL/SQL中,**异常处理**是确保程序健壮性的重要机制。异常可以分为预定义异常和自定义异常两种类型。 ##### 4.1 预定义异常 Oracle提供了一系列预定义异常,如`NO_DATA_FOUND`、`TOO_MANY_ROWS`等,这些...
Oracle 异常处理是PL/SQL编程中的关键组成部分,它允许开发者优雅地处理程序执行过程中可能出现的错误,确保系统的稳定性和可靠性。异常处理是通过异常情况(EXCEPTION)和异常处理器(EXCEPTION HANDLER)来实现的...
"Oracle SGA 参数调整导致数据库启动异常处理方法" 在 Oracle 数据库中,SGA(System Global Area)参数调整可能会导致数据库启动异常。这种情况下,需要了解 SGA 参数的调整方法和恢复数据库的方法。 一、SGA ...
在本篇讨论中,我们将深入理解Oracle游标、异常处理以及如何在存储过程中使用它们。 1. **Oracle游标**: - **定义**:Oracle游标是数据库系统提供的一种机制,用于在结果集中定位并处理单条记录。它实际上是一个...