首页 > 数据库技术 > 详细

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

时间:2015-01-06 15:03:15      阅读:366      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!