oracle怎么捕获异常 oracle 异常捕捉

有关在Oracle里怎样捕获出错?怎样出错回滚rollback

1、出现异常,会自动回滚,不用为了回滚而捕获异常

站在用户的角度思考问题,与客户深入沟通,找到坡头网站设计与坡头网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖坡头地区。

2、如需要对异常进行处理,可参考以下异常捕获逻辑

begin

--代码处理逻辑。。。

exception

when no_data_found then

--no_data_found异常处理。。。

rollback;

when others then

--其他异常处理。。。

rollback;

以上。

请教各位高手 oracle 存储过程 如何获得 捕获异常的内容

--通过sqlcode , sqlerrm 这两个内置变量来查看,例如:

DECLARE

--声明异常

some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition

v_ErrorCode NUMBER; -- Variable to hold the error message code

v_ErrorText VARCHAR2(200); -- Variable to hold the error message text

BEGIN

--...

--抛出异常

IF ( ... ) THEN --(括号内填抛出异常的条件)

RAISE some_kinds_of_err;

END IF;

--...

EXCEPTION

--捕捉异常

WHEN some_kinds_of_err THEN

/* do something to Handler the errors */

null;

--捕捉其他异常,并获得 捕获异常的内容

WHEN OTHERS THEN

v_ErrorCode := SQLCODE;

v_ErrorText := SUBSTR(SQLERRM, 1, 200);

-- Note the use of SUBSTR here.

dbms_output.put_line(v_ErrorCode || '::'||v_ErrorText);

END;

/

/**

sqlcode 就是错误代码

sqlerrm 就是sql错误信息。注意用substr来截取,否则输出很难看。

**/

Oracle 如何捕获异常信息

一般写在存储过程处理异常。

exception

when others then

out_mes:=out_mes || '执行失败!因为'|| sqlcode || '错误' ;

out_mes你自己可以处理,插入日志表中 或作为输出参数。


当前名称:oracle怎么捕获异常 oracle 异常捕捉
标题链接:http://pwwzsj.com/article/hhoche.html