异常处理

WBOY
发布: 2016-06-07 16:01:05
原创
1080 人浏览过

异常处理 一、预定义异常: Dup_val_on_index:试图向唯一索引列插入重复值,相当于建立了一个唯一索引 然后再向这个索引的列中插入一条重复的数据就会异常。 Invalid_cursors:试图进行非法的游标操作 Invalid_number : 试图将字符串转换为数字 no_data_found

异常处理

一、预定义异常:

Dup_val_on_index:试图向唯一索引列插入重复值,相当于建立了一个唯一索引 然后再向这个索引的列中插入一条重复的数据就会异常。

Invalid_cursors:试图进行非法的游标操作

Invalid_number : 试图将字符串转换为数字

no_data_found : select into 语句没有返回任何记录

Too_many_rows : select into 语句返回超过1条记录

Zero_divide : 试图除以 0

Cursor_already_open : 试图打开一个已经打开的游标

Others :包括所有异常

二、异常处理语法结构:

EXCEPTION --异常开始

WHEN 异常名1 THEN

--对应的异常处理

1、实例:

DECLARE

newSal emp.sal%TYPE;

BEGIN

select sal into newSal from emp;

EXCEPTION

when too_many_rows then --超过记录用too_many_rows

dbms_output.put_line('返回的记录太多了');

when others then --其他异常则输出

dbms_output.put_line('未知异常');

END;

三、自定义异常:

DECLARE

newSal emp.sal%TYPE;

myexp exception; --声明异常变量

BEGIN

select sal into newSal from emp where rownum=1;

if newsal>500 then --情况出现时就调用异常

raise myexp;

end if;

EXCEPTION

when too_many_rows then --超过记录用too_many_rows

dbms_output.put_line('返回的记录太多了');

when myexp then

dbms_output.put_line('工资不能超过500');

when others then --其他异常则输出

dbms_output.put_line('未知异常');

END;

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!