您的位置:首页 > 其它

[bbk5364]第19集 - Chapter 08 - Handling Exceptions(02)

2013-04-24 17:27 525 查看

Autonomous Transactions

RAISE_APPLICATION_ERROR

DECLARE
v_deptno NUMBER := 500;
v_name VARCHAR2(20) := 'Testing';

e_invalid_department EXCEPTION;
PRAGMA EXCEPTION_INIT(e_invalid_department,-20188);
BEGIN
UPDATE dept SET department_name = v_name WHERE department_id = v_deptno;

IF SQL%NOTFOUND THEN
RAISE_APPLICATION_ERROR(-20188,'This is your Error Message!');
END IF;

COMMIT;

EXCEPTION
WHEN e_invalid_department THEN

--DBMS_OUTPUT.PUT_LINE(SQLCODE || '->' || SQLERRM);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;

/


解析:

e_invalid_department EXCEPTION; --定义一个EXCEPTION类型的变量,名称叫做e_invalid_department;

PRAGMA EXCEPTION_INIT(e_invalid_department,-20188); --通过此函数指令,将-20188与异常类型变量e_valid_department进行关联;

RAISE_APPLICATION_ERROR(-20188,'This is your Error Message!'); --通过此过程,就可以将ERROR CODE: -20188与ERROR MESSAGE:'This is your Error Message进行关联';

完成上述几步之后,在后面的代码块中,就可以使用Oracle Server build in`s function:SQLCODE and SQLERRM;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: