请教各位高手 oracle 存储过程 如何获得 捕获异常的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教各位高手 oracle 存储过程 如何获得 捕获异常的内容相关的知识,希望对你有一定的参考价值。
rt
参考技术A --通过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来截取,否则输出很难看。
**/本回答被提问者采纳 参考技术B begin
plsql语句串;
exception when others
then
dbms_output.put_line(sqlcode||' '|| SQLERRM);
end;
以上是关于请教各位高手 oracle 存储过程 如何获得 捕获异常的内容的主要内容,如果未能解决你的问题,请参考以下文章
各位大侠,请教个oracle问题,执行一段代码出现错误,希望各位给出解决办法,谢谢谢!
请教关于oracle中写存储过程时 select into 语句报错的问题