`
jeelee
  • 浏览: 628488 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle学习笔记(第十二章:oracle例外(异常))

阅读更多
--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学习笔记精华版Oracle学习笔记精华版Oracle学习笔记精华版

    Oracle学习笔记

    Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记

    oracle 个人学习笔记

    oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记

    Oracle学习笔记 Oracle学习笔记

    Oracle非常有用的笔记。。。。。。。。。。。Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记

    ORACLE数据库体系架构视频教程详细完整版

    第十二章:Oracle中表的几种类型 第十三章:数据库审计 audit 第十四章:数据装载 SqlLoader 第十五章:Oracle 网络 第三部分:管理Oracle数据库 第十六章:Oracle ASM 管理 第十七章:逻辑备份与恢复 第十八章:...

    oracle学习笔记 oracle学习笔记

    oracle学习笔记 oracle学习笔记oracle学习笔记 oracle学习笔记

    Oracle学习笔记 PDF

    本文档主要是网易云李兴华老师进行授课时所作笔记,从Oracle11g数据库的安装到复杂查询做了详细的文档记录。

    Oracle学习笔记.pdf

    oracle学习笔记,包含所有oracle概念,包,函数,oracle的组成,oracle的plsq,oracle的存储过程,oracle的事务等

    Oracle学习笔记.doc

    Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...

    Oracle学习笔记-日常应用、深入管理、性能优化

    资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...

    oracle学习笔记-入门基础

    oracle学习笔记-入门基础-01-张园

    ORACLE学习笔记:日常应用、深入管理、性能优化.part1/2

    ORACLE学习笔记:日常应用、深入管理、性能优化.part1

    Oracle 架构和管理.ppt

    第一章:Oracle的架構 第二章:Oracle的執行 第三章:管理Oracle ...第十二章:資料的載入 第十三章:Export and Import的使用 第十四章:Users的管理 第十五章:權限的管理 第十六章:Roles的管理

    oracle11g

    第十二章:约束 第十三章:视图 第十四章:同义词 第十五章:序列 第三部分:SQL语言的扩展 第十六章:INSERT语句总结 第十七章:DML和DDL语句的其他用法 第十八章 通过GROUP BY产生统计报告 第十九章:...

    韩顺平oracle学习笔记.pdf

    分享给需要的朋友们韩顺平oracle学习笔记.pdf 大家来下载吧!

    成功之路:Oracle_11g学习笔记17

    成功之路:Oracle_11g学习笔记17成功之路:Oracle_11g学习笔记17成功之路:Oracle_11g学习笔记17

    成功之路:Oracle11g学习笔记.pdf

    《成功之路:Oracle 11g学习笔记》共24章,主要介绍了Oracle安装、干净卸载Oracle、数据库启动关闭、Oracle网络配置等相关内容。在介绍Oracle系统管理的知识以后,将介绍与开发相关的内容(如PL/SQL基础知识、存储过程...

Global site tag (gtag.js) - Google Analytics