码迷,mamicode.com
首页 > 数据库 > 详细

PL/SQL语言编程中异常分类及其处理

时间:2015-01-06 15:04:09      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

--预定义异常:系统已经声明的异常
DECLARE
V_NAME EMP.ENAME%TYPE;
BEGIN
SELECT ENAME INTO V_NAME FROM EMP WHERE EMPNO = 1234;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE(‘未查到数据‘);
WHEN OTHERS THEN
dbms_output.put_line(‘其他异常‘);
END;

--非预定义异常:系统异常,系统没有对其进行声明
DECLARE
e_fkexception EXCEPTION;
PRAGMA Exception_Init(e_fkexception,-2291);
BEGIN
INSERT INTO emp VALUES(8888,‘tom‘,‘CLERK‘,7902,SYSDATE,1900,NULL,50);
EXCEPTION
WHEN e_fkexception THEN
dbms_output.put_line(‘外键异常!‘);
WHEN OTHERS THEN
dbms_output.put_line(‘其他异常‘);
END;


--用户自定义异常
DECLARE
e_salexception EXCEPTION;
v_sal emp.sal%TYPE;
v_empno emp.empno%TYPE := &no;
BEGIN
SELECT sal INTO v_sal FROM emp WHERE empno = v_empno;
IF v_sal < 1000 THEN
RAISE e_salexception;
END IF;
EXCEPTION
WHEN e_salexception THEN
dbms_output.put_line(‘工资不能低于1000!‘);
END;

 

PL/SQL语言编程中异常分类及其处理

标签:

原文地址:http://www.cnblogs.com/jkma1007/p/4205860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!