- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle实验(Exception)
《Oracle 数据库》
实验教学指导书
实验三 异常处理
撰写人:郭云飞
湘潭大学
信息工程学院
二○一四年三月十五日
实验三 异常处理
一.上机目的
1. 了解PL/SQL 在Oracle 中的基本概念。
2 . 掌握PL/SQL 的各组成部分。
3 . PL/SQL 的运用。
二.预备知识
异常(exception )是PL/SQL 处理错误情况的方法。在PL/SQL 代码部分执行的过程中无论何时发生错
误,控制自动地执行异常部分。表 4-1 列出了常见的 PL/SQL 异常,通过检测这些异常,用户可以查找到
PL/SQL 程序产生的错误。
表4-1 PL/SQL 常见异常
异常 说明
No_data_found 如果一个 select 语句试图基于其条件检索数据,此异常表示不存在满
足条件的数据行
Too_many_rows 由于隐式光标每次只能检索一行数据,使用隐式光标时,这个异常检
测到有多行数据存在(有关隐式光标参见本章“隐式光标”一节)
Dup_val_on_index 如果某索引中已有某键列值,若还要在该索引中创建该键字值的索引
项时,出现此异常。例如:假设一个计费系统以发票号为键字,当某
个应用程序准备创建一个重复的发票号时,产生此异常
Value_error 此异常表示指定目标域的长度小于待放入其中的数据的长度。例如:
将“ABCDEFGH”字符串放入定义为“varchar2(6)”的域时,产生此异常
当遇到预先定义的错误时,错误被当前块的异常部分相应的 when…then 语句捕捉。跟在 when 句子
的then 语句的代码被执行。Then 语句执行后,控制运行到了紧跟着当前块的end 语句的行。如果你的错
误陷阱代码只是退出内部嵌套的块,程序将继续跟在内部块 end 语句后的外部块的第一行。应用他们自
己异常部分的嵌套块是一种控制程序流的方法。
如果在当前块中没有联系错误的when 句子并且 begin/end 块是嵌套的,程序将继续在外部块中寻找
错误处理入口直到找到一个。当错误发生而在任何异常部分没有与之联系的错误处理入口,程序将终止。
Oracle 给我们提供了“抓住一切”的错误处理入口来捕捉不是预定义的错误。When others then 错误处理入
口将捕捉所有Oracle 预定义错误范围之外的错误。通过Oracle 的sqlcode 和sqlerrm 函数在when others
then 错误处理入口中显示错误代码和错误信息是一个好的主意。
如果你在异常部分有其他的错误处理入口,确定when others 是最后一个。如果你错误地先写when
others 语句,它将捕捉所有的错误,即使是那些预定义的错误。
三.上机内容
例1.编写如下PL/SQL 块并运行。
发现是第4 行“ x:= a123; ”有问题,字符到数值的(自动、隐式)转换错误。
增加异常处理部分并运行。
例2 .查询某人所在的部门。PL/SQL 块如下:
运行脚本,结果如下:
错误报告:
ORA-06502: PL/SQL: 数字或值错误: 字符串缓冲区太小
ORA-06512: 在line 5
发现是第5 行有问题,字符串缓冲区太小。为什么?
如果将第5 行中的“Elizabeth ”删除,再运行,则上述错误消失,但出现了另外一个错误。
错误报告:
ORA-01403: 未找到任何数据
ORA-06512: 在line 6
通过检查emp 表发现,ename 列都是大写字母,则将第5 行改为:
vename:=upper(Smith);
再次运行,得到结果:
Dept:RESEARCH
您可能关注的文档
- 8负反馈.ppt
- AXI总线学习.docx
- BUG分析.docx
- C51中断.docx
- C51错误提示.docx
- C14煤运输巷至C14煤回风巷安全措施.doc
- CAMERON流量计误差特性和性能的选择.docx
- C8051F330学习札记.pdf
- CCSv5.5中DSPBIOS简单搭建例程.pdf
- Copy of 第五章审计工作底稿.ppt
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)