我们常常在ORACLE的存储过程中这样处理错误:
DECLARE
v_ErrorNo number(10);
v_ErrorMsg varchar2(255);
BEGIN
--Some SQL Here
EXCEPTION
WHEN OTHERS THEN
v_ErrorNo := SQLCODE;
v_ErrorMsg := SQLERRM;
ROLLBACK;
RETURN;
END;
虽然WHEN OTHERS THEN能够接收所有的错误,但是我们怎么知道是什么原因导致了错误吗?SQLCODE和SQLERRM这两个系统变量提供了最近一次错误的错误代码和错误描述。这样,调试的时候就能够更快地定位错误的原因。
DECLARE
v_ErrorNo number(10);
v_ErrorMsg varchar2(255);
BEGIN
--Some SQL Here
EXCEPTION
WHEN OTHERS THEN
v_ErrorNo := SQLCODE;
v_ErrorMsg := SQLERRM;
ROLLBACK;
RETURN;
END;
虽然WHEN OTHERS THEN能够接收所有的错误,但是我们怎么知道是什么原因导致了错误吗?SQLCODE和SQLERRM这两个系统变量提供了最近一次错误的错误代码和错误描述。这样,调试的时候就能够更快地定位错误的原因。
本文介绍了一种在Oracle存储过程中处理错误的方法,并解释了如何使用SQLCODE和SQLERRM来定位错误原因。
6732

被折叠的 条评论
为什么被折叠?



