写了一个sql文件
大致如下:
SET ECHO ON
SET TIMING ON
SET SERVEROUTPUT ONWHENEVER SQLERROR EXIT SQL.SQLCODE
WHENEVER OSERROR EXIT 9BEGIN
EXECUTE 调用的存储过程;
其他DB操作;
COMMIT;
END;
/
EXIT
就报错,但是将主要代码部分改为下面以后就正常了。为什么呢。
*调用的存储过程单独执行是没问题的。EXECUTE 调用的存储过程;
BEGIN
其他DB操作;
COMMIT;
END;
/
EXIT
大致如下:
SET ECHO ON
SET TIMING ON
SET SERVEROUTPUT ONWHENEVER SQLERROR EXIT SQL.SQLCODE
WHENEVER OSERROR EXIT 9BEGIN
EXECUTE 调用的存储过程;
其他DB操作;
COMMIT;
END;
/
EXIT
就报错,但是将主要代码部分改为下面以后就正常了。为什么呢。
*调用的存储过程单独执行是没问题的。EXECUTE 调用的存储过程;
BEGIN
其他DB操作;
COMMIT;
END;
/
EXIT
begin
proc_name;
end
如果在pl/sql developer的command window或者sql*plus中执行过程则需
execute proc_name;
调用的存储过程;
其他DB操作;
COMMIT;
END;
去掉execute命令就没问题了
-------------------------
EXECUTE 调用的存储过程;
BEGIN
其他DB操作;
COMMIT;
END;
这个其实分成了两部分执行,“EXECUTE 调用的存储过程”并不是在pl/sql块中