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

oracle 过程里怎么捕获方法里抛出的异常

EXCEPTION

专注于为中小企业提供成都网站制作、网站设计、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业汉南免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

WHEN excepttion_name1 then

........

WHEN excepttion_name2 then

........

WHEN excepttion_name3 then

........

End;

Oracle 如何捕获异常信息

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

exception

when others then

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

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

请教各位高手 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里怎样捕获出错?怎样出错回滚rollback

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

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

begin

--代码处理逻辑。。。

exception

when no_data_found then

--no_data_found异常处理。。。

rollback;

when others then

--其他异常处理。。。

rollback;

以上。


当前标题:oracle怎么捕捉异常 oracle sql异常捕获
转载源于:http://hbruida.cn/article/hpdcss.html