oracle 过程里怎么捕获方法里抛出的异常EXCEPTION
WHEN excepttion_name1 then
........
WHEN excepttion_name2 then
........
WHEN excepttion_name3 then
........
End;
请教各位高手 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 toHandler 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 插入时报错 如何捕获该处理异常 。这种情况我遇到过,可能的原因是表A和表B中对应字段的数据值类型不同,建议检查一下 。
可以用EXCEPTION 来捕获这个异常,并将捕获到的异常存储在一张表里,以便查询,这样就不会中断存储过程的执行,举例如下:
declare
......-- 其他变量
V_ERRORCODE NUMBER; -- 错误代码
V_ERRORMSGVARCHAR2(6000); -- 错误信息
V_INFORMATION VARCHAR2(6000); -- 提示信息
begin
......--其他SQL语句
【oracle怎么捕获异常 java捕获oracle主键重复异常】insert /*append */ into A select * from B;
exception
when others then
v_ErrorCode:= SQLCODE;
v_ErrorMsg:= SQLERRM;
v_Information := TO_CHAR(v_ErrorCode) || v_ErrorMsg ;
insert into T_ERR(code,mgs,info) values(v_ErrorCode,v_ErrorMsg,v_Information);
commit;
end;
Oracle 如何捕获异常信息一般写在存储过程处理异常 。
exception
when others then
out_mes:=out_mes || '执行失败!因为'|| sqlcode || '错误' ;
out_mes你自己可以处理,插入日志表中 或作为输出参数 。
oracle怎么获取exception信息?通过RAISE弹出框(调试时使用)
通过sqlcode,sqlerrm这两个内置变量来查看,
例如:DECLARE--声明异常some_kinds_of_errEXCEPTION;--Exceptiontoindicateanerrorconditionv_ErrorCodeNUMBER;--Variabletoholdtheer..
为了提高存储过程的健壮性,避免运行错误,当建立存储过程时应包含异常处理部分.
有关在Oracle里怎样捕获出错?怎样出错回滚rollback1、出现异常,会自动回滚,不用为了回滚而捕获异常
2、如需要对异常进行处理,可参考以下异常捕获逻辑
begin
--代码处理逻辑 。。。
exception
when no_data_found then
--no_data_found异常处理 。。。
rollback;
when others then
--其他异常处理 。。。
rollback;
以上 。
oracle怎么捕获异常的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java捕获oracle主键重复异常、oracle怎么捕获异常的信息别忘了在本站进行查找喔 。
推荐阅读
- ios为什么卡,为什么苹果也卡
- 台州游戏动作捕捉价格查询,动作捕捉报价
- Oracle数据库进阶,Oracle数据库进阶
- mysql怎么用命令进入 mysql数据库中进入mysql库的命令
- 白象蚂蚁视频下载链接安卓,小象白蚁
- 二月二公众号文章,二月二发文
- python手册如何使用,python手册chm
- java语言写根号代码 java的根号怎么表示
- chatgpt评选十大前腰,世界顶级前腰