Heim > Datenbank > MySQL-Tutorial > Hauptteil

异常处理

WBOY
Freigeben: 2016-06-07 16:01:05
Original
1081 Leute haben es durchsucht

异常处理 一、预定义异常: 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;

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!