Oracle手册中对于ORA-00000的描述:
ORA-00000 normal, successful completion
Cause: An operation has completed normally, having met no exceptions.
Action: No action required.
即正常执行,成功完成,没有异常,无需处理。
实际中会遇到的情况,是在使用OCI的C程序中,由于逻辑的问题,并没有执行SQL语句或SQL语句执行成功,却调用了oerhms()函数(OCIErrorGet())获得Oracle错误信息。而在错误输出时又没有做条件判断,导致“ORA-00000 normal, successful completion”信息出现。
ORA-00000 normal, successful completion
Cause: An operation has completed normally, having met no exceptions.
Action: No action required.
即正常执行,成功完成,没有异常,无需处理。
DECLARE
v_code NUMBER;
v_errm VARCHAR2(64);
BEGIN
v_code := SQLCODE;
v_errm := SUBSTR(SQLERRM, 1 , 64);
DBMS_OUTPUT.PUT_LINE('The error code is ' || v_code || '- ' || v_errm);
END;
输出
The error code is 0- ORA-0000: normal, successful completion
实际中会遇到的情况,是在使用OCI的C程序中,由于逻辑的问题,并没有执行SQL语句或SQL语句执行成功,却调用了oerhms()函数(OCIErrorGet())获得Oracle错误信息。而在错误输出时又没有做条件判断,导致“ORA-00000 normal, successful completion”信息出现。
因此如果遇到该“错误”,基本与SQL和Oracle数据库无关,应着重检查程序逻辑的失误。
参考1:http://docs.oracle.com/cd/B10501_01/server.920/a96525/e0.htm
参考2:http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/sqlcode_function.htm#CJADEJGB