异常处理
异常是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的基础知识、安装步骤以及SQL查询语句进行详尽的阐述。 首先,新安装的Oracle数据库的配置步骤至关重要。在安装完成后,需要通过Database Configuration Assistant(DBCA)...
### Oracle基础知识总结初学者必备 Oracle数据库作为一款广泛使用的数据库管理系统,在企业和开发领域扮演着重要的角色。对于初学者而言,掌握其基础知识是非常必要的。本文将根据提供的内容进行深入解析,并结合...
"Oracle核心基础总结"涵盖了Oracle数据库系统的基础知识,对于初学者和需要巩固基础的IT从业者来说,是非常宝贵的资源。以下是Oracle核心基础的一些关键知识点: 1. 数据库概念:了解数据库的基本构成,如表、索引...
系统的总结了oracle的基础知识,对oracle基础想补充的朋友应该很有帮助,语言简练,都是开发时常用到的知识
以下是对Oracle基础知识的详细总结: 第一章:Oracle概述 Oracle数据库是Oracle公司的产品,提供了一整套数据管理解决方案。它支持多种操作系统平台,如Windows、Linux、Unix等。Oracle采用SQL作为查询语言,并提供...
以下是我对Oracle学习的一些心得和总结,主要聚焦于数据库对象,尤其是表及其约束。 1. **数据库对象**: 数据库对象是Oracle中的基本组成部分,包括表、视图、索引、存储过程、函数、触发器等。这些对象共同构成...
以下是对文档中提到的Oracle基础命令的详细解释: 1. **数据泵语句**:Oracle数据泵(Data Pump)是一种高速数据传输机制,用于在数据库之间导入和导出数据。创建目录对象是为了指定数据泵操作的数据文件存放位置。...
本文将根据"oracle学习总结(适合刚学习oracle的人)"这一主题,深入探讨Oracle数据库的基础知识,帮助初学者建立起对Oracle的基本理解。 1. **Oracle简介**:Oracle数据库是由美国甲骨文公司开发的一款产品,它...
掌握SQL的基础语法,如SELECT、INSERT、UPDATE、DELETE语句,以及联接(JOIN)、子查询、聚合函数(COUNT、SUM、AVG等)和分组(GROUP BY)等,是每个Oracle开发者的基本功。 二、创建表 创建表是数据库设计的第一...
本文将根据提供的文档内容,总结和扩展Oracle数据库的基础知识点,帮助初级程序员更好地理解和掌握Oracle。 #### 一、Oracle 用户管理 1. **创建用户** - 命令格式:`CREATE USER 用户名 IDENTIFIED BY 密码;` ...
一、Oracle数据库基础 Oracle数据库采用SQL(结构化查询语言)作为其主要的数据交互方式,支持ACID(原子性、一致性、隔离性和持久性)事务特性,确保数据的完整性和一致性。Oracle数据库系统由多个组件构成,包括...
本总结将深入探讨Oracle基础知识,包括过程、游标、包、视图以及导入导出等关键概念。 首先,让我们关注“过程”。在Oracle中,过程是一系列SQL语句和PL/SQL代码的集合,它们可以执行特定任务。过程可以接受参数,...
1. **SQL语言**:Oracle数据库的基础是SQL(结构化查询语言),用于数据查询、更新、插入和删除。在实例中,我们可能看到如何使用SELECT语句进行复杂查询,JOIN操作连接多个表,以及如何使用WHERE子句进行条件筛选。...
本文将深入讲解Oracle数据库的基础命令,涵盖数据库的基本概念、关系数据库模型、数据操作语言(DDL、DML、DCL)以及数据库设计方法。 首先,理解数据库基础至关重要。数据库是一个组织和存储数据的系统,它允许...
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性...
总结,Oracle基础知识涵盖了数据库架构、数据类型、SQL操作、表空间管理以及备份恢复策略等多个方面。掌握这些基础知识对于理解和使用Oracle数据库至关重要,有助于构建高效稳定的企业级数据环境。
Oracle数据库是世界上最广泛使用的数据库管理系统之一,主要用于存储和管理...这些是Oracle数据库的基础知识,对于理解和操作Oracle数据库至关重要。通过深入学习和实践,可以更好地掌握Oracle的各种特性和高级功能。
本资料“oraclePPT总结及笔记”是针对青软实训的学员们设计的一套全面的学习资源,旨在帮助他们深入理解和掌握Oracle数据库的相关知识。以下是基于这个主题的详细知识点讲解: 1. **Oracle数据库基础**: - 数据库...