PL/SQL预定义异常

预定义的异常

PL/SQL提供了许多预定义的异常,这些异常在程序违反任何数据库规则时执行。 例如,当SELECT INTO语句不返回任何行时,会引发预定义的异常NO_DATA_FOUND。下表列出了一些重要的预定义异常情况 -

异常 Oracle错误代码 SQLCODE 描述
ACCESS_INTO_NULL 06530 -6530 当一个空对象被自动分配一个值时会引发它。
CASE_NOT_FOUND 06592 -6592 当没有选择CASE语句的WHEN子句中的任何选项时,会引发这个错误,并且没有ELSE子句。
COLLECTION_IS_NULL 06531 -6531 当程序尝试将EXISTS以外的集合方法应用于未初始化的嵌套表或varray时,或程序尝试将值分配给未初始化的嵌套表或varray的元素时,会引发此问题。
DUP_VAL_ON_INDEX 00001 -1 当尝试将重复值存储在具有唯一索引的列中时引发此错误。
INVALID_CURSOR 01001 -1001 当尝试进行不允许的游标操作(例如关闭未打开的游标)时会引发此错误。
INVALID_NUMBER 01722 -1722 当字符串转换为数字时失败,因为字符串不代表有效的数字。
LOGIN_DENIED 01017 -1017 当程序尝试使用无效的用户名或密码登录到数据库时引发。
NO_DATA_FOUND 01403 +100 SELECT INTO语句不返回任何行时会引发它。
NOT_LOGGED_ON 01012 -1012 当数据库调用没有连接到数据库时引发。
PROGRAM_ERROR 06501 -6501 当PL/SQL遇到内部问题时会引发。
ROWTYPE_MISMATCH 06504 -6504 当游标在具有不兼容数据类型的变量中获取值时引发。
SELF_IS_NULL 30625 -30625 当调用成员方法时引发,但对象类型的实例未初始化。
STORAGE_ERROR 06500 -6500 当PL/SQL用尽内存或内存已损坏时引发。
TOO_MANY_ROWS 01422 -1422 SELECT INTO语句返回多行时引发。
VALUE_ERROR 06502 -6502 当发生算术,转换,截断或者sizeconstraint错误时引发。
ZERO_DIVIDE 01476 1476 当尝试将数字除以零时引发。

原文地址:https://www.cnblogs.com/archer-wen/p/10015034.html

时间: 2024-08-27 16:05:05

PL/SQL预定义异常的相关文章

复习PHP-语言参考-预定义异常

1.Exception 它是所有异常的基类. 可以自定义异常类继承它,并在异常时throw出 2.ErrorException 是Exception的子类,具体没啥说的. 复习PHP-语言参考-预定义异常,布布扣,bubuko.com

预定义异常 - PHP手册笔记

原文:预定义异常 - PHP手册笔记 Exception是所有异常的基类,类摘要如下: <?php class Exception { protected string $message; // 异常消息内容 protected int $code; // 异常代码 protected string $file; // 抛出异常的文件名 protected int $line; // 抛出异常在该文件的行号 public __construct([string $message = "&q

PL/SQL: Statement ignored 异常 关于存储过程的调用

C:\Java\jdk8\bin\java -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\Installed\IntelliJ IDEA 2017.3.4\lib\idea_rt.jar=3706:D:\Installed\IntelliJ IDEA 2017.3.4\bin" -Dfile.encoding=UTF-8 -classpath "D:\Installed\IntelliJ IDEA 2017

[PL/SQL] 如何规避异常ORA-01403

如果mytable表中不存在 ID = 123 的数据,那么 SELECT Flag INTO flag FROM mytable WHERE ID = 123 将抛出异常ORA-01403 SELECT nvl(max(Flag),'') INTO flag FROM mytable WHERE ID = 123 则不会有异常 具体参考: http://www.itpub.net/thread-859456-1-1.html

源码-PL/SQL从入门到精通-第二章-PL/SQL基本概念-Part 1

随书附带的源码没有序号,部分有bug,调试过程中一并更正. --代码2.1 使用书序结构计算员工薪资 DECLARE v_sal1 NUMBER; v_sal2 NUMBER; v_sumsal NUMBER; BEGIN SELECT sal INTO v_sal1 FROM emp WHERE empno = &empno1; SELECT sal INTO v_sal2 FROM emp WHERE empno = &empno2; v_sumsal := v_sal1 + v_sa

Oracle之PL/SQL编程

PL/SQL(Procedural Language/SQL,过程语言/SQL) 是结合了Oracel过程语言和结构化查询语言(SQL)的一种扩展语言. 优点: (1)PL/SQL具有编程语言的特点,它能把一组SQL语句放到一个模块中,使其更具模块化种序的特点. (2)PL/SQL可以采用过程性语言控制程序的结构. (3)PL/SQL有自动处理的异常处理机制. (4)PL/SQL程序块具有更好的可移植性,可移植到另一个Oracle数据库中. (5)PL/SQL程序减少了网络的交互,有助于提高程序

[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) 得到了大家的强力支持与建议,万分感谢.接下来介绍下一篇:oracle pl/sql异常处理部分,还望大家一定

【转】[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

[推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) 得到了大家的强力支持与建议,万分感谢.接下来介绍下一篇:oracle pl/sql异常处理部分,还望大家一定要支持与推荐呀~! 本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义的异常

PL/SQL 编程(一)基础,变量,分支,循环,异常

SQL和PL/SQL: SQL 结构化查询语言(Structural Query Language),是用来访问和操作关系型数据库的一种标准通用语言,属于第四代语言(4GL).可以方便的调用相应语句来去的结果,特点是非过程化,使用的时候不用指明执行的具体方法,不用关注实现的细节,但是某些情况下满足不了复杂业务流程的需求. PL/SQL是 Procedure Language & Structured Query Language 的缩写.属于第三代语言(3GL),是一种过程化语言.PL/SQL是