--Oracle中的例外(异常)
--预先定义的例外
--此类例外状况无须在程序中定义 , oracle会自动引发
--常见的五种标准例外 :
---no_data_found
---too_many_rows
---dup_val_on_index
---value_error
---invalid_number
declare
var1 number(4,2);
begin
var1:='yyyy';
Exception
When value_error then
Dbms_output.put_line('value error');
When others then
Dbms_output.put_line(SQLCODE||' '||SQLERRM);
End;
----非预先定义的例外﹐此类例外需在程序中定义﹐Oracle会自动引发
-----定义方法
--<例外情况> EXECPTION ;
-- PRAGMA EXCEPTION_INIT( <例外情况> , <错误码> ) ;
---例子
declare
def_exception_test Exception;
Pragma Exception_init(def_exception_test,-6502);
var1 number(4,2);
begin
var1:=24;
Exception
When def_exception_test then
dbms_output.put_line(SQLCODE||'-------'||SQLERRM);
When others then
dbms_output.put_line('other error!');
end;
--用户自定义例外
--使用者自定例外处理 , 包含.自定的例外编号 , 例外状况 , 错误讯息
--须要自行定义和自行引发
--使用者自定例外有二种使用方式 :.
--1.于 declare 中宣告,并用 RAISE 执行
--2.可用人工方式启动预先定义的例外状况处理
--利用raise
declare
test_raise Exception;
var1 varchar2(10);
begin
select emp_nm into var1 from empm where emp_no='001';
if var1<>'xxxx' then
raise test_raise;
end if;
Exception
when test_raise then
dbms_output.put_line('姓名有误﹗');
end;
--raise_application_error
--利用 Raise_application_error 程序,可产生自设的错误代码与讯息内容
--用户可定义的代码范围是﹕-20000到-20999
--例1
create or replace procedure def_err(err_no in varchar2)
as
begin
if err_no='-2000' then
raise_application_error('-20000','error!');
elsif err_no='-20500' then
raise_application_error('-20500','error2!');
end if;
end;
--例2
declare
raise_exception_test Exception;
vemp_age emp_m.emp_age%type;
begin
for empm_rec in (select emp_nm, ge from empm) loop
if empm_rec. age>=24 then
raise raise_exception_test;
end if;
end loop;
Exception
when raise_exception_test then
raise_application_error(-20000,'the age is over 24');
end ;
分享到:
相关推荐
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
- OracleDBConsolexx:Oracle数据库控制台服务,用于管理Oracle实例。 - OracleJobSchedulerORCL:定时任务调度服务,用于安排数据库作业。 - OracleMTSRecoveryService:支持分布式事务处理。 - OracleOraDb11g...
Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...
第十二章:Oracle中表的几种类型 第十三章:数据库审计 audit 第十四章:数据装载 SqlLoader 第十五章:Oracle 网络 第三部分:管理Oracle数据库 第十六章:Oracle ASM 管理 第十七章:逻辑备份与恢复 第十八章:...
Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...
标题:Oracle DBA 学习笔记 描述:学习使用维护 Oracle 数据库数年,对认为值得记录的 Oracle 维护脚本进行记录总结,存起来,虽然今后开源是方向,但不可否认 Oracle 仍然非常有水平的,在人类发展历史上相信一定...
Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
ORACLE学习笔记:日常应用、深入管理、性能优化.part1
第十二章:约束 第十三章:视图 第十四章:同义词 第十五章:序列 第三部分:SQL语言的扩展 第十六章:INSERT语句总结 第十七章:DML和DDL语句的其他用法 第十八章 通过GROUP BY产生统计报告 第十九章:...
### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...
- **数据字典**:Oracle的数据字典是系统维护的一系列视图,提供了关于数据库对象、权限、状态等信息,如`DBA_TABLES`、`USER_OBJECTS`等。 学习Oracle不仅要理解这些基础知识,还要通过实践来提升技能,包括性能...
《成功之路:Oracle 11g学习笔记》共24章,主要介绍了Oracle安装、干净卸载Oracle、数据库启动关闭、Oracle网络配置等相关内容。在介绍Oracle系统管理的知识以后,将介绍与开发相关的内容(如PL/SQL基础知识、存储过程...
资源名称:成功之路:Oracle 11g学习笔记内容简介:本书专为开发人员编写,先引导开发新手熟悉Oracle环境,然后进入数据库开发,并要掌握项目开发中的一些技巧。开发技巧展示是本书的一大特色(这一点很值得资深的...
Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...
第十二讲:oracle table管理 第十三讲:oracle index管理 第十四讲:oracle Partitioned Tables and Indexes管理 第十五讲:oracle view管理 第十六讲:oracle sequences管理 第十七讲:oracle 触发器管理 第十八讲...
超详细Oracle学习笔记,详细记录了oracle的学习过程中遇到的各种问题及基础知识,适合初中级oracle使用人员学习参考。