Oracle sqlplus脚本中出现编译错误时暂停
我正在使用几个sql文件部署pl/sql代码,这些文件是用Oracle sqlplus脚本中出现编译错误时暂停,oracle,sqlplus,oracle-sqldeveloper,Oracle,Sqlplus,Oracle Sqldeveloper,我正在使用几个sql文件部署pl/sql代码,这些文件是用@@file调用的。如果程序包出现编译错误,脚本将继续执行到底 有没有办法在每次编译错误时停止 每当SQLERROR退出SQL.SQLCODE时,我都尝试了,但脚本仍在继续。我知道没有原生SQL*plus方式。只有变通办法。像这样: 20:42:50 TEST@oars_sandbox> get scr 1 whenever sqlerror exit rollback 2 create or replace proce
@@file
调用的。如果程序包出现编译错误,脚本将继续执行到底
有没有办法在每次编译错误时停止
每当SQLERROR退出SQL.SQLCODE时,我都尝试了
,但脚本仍在继续。我知道没有原生SQL*plus方式。只有变通办法。像这样:
20:42:50 TEST@oars_sandbox> get scr
1 whenever sqlerror exit rollback
2 create or replace procedure my_failed_proc as
3 i number;
4 begin
5 select 1 into i from me_iz_not_exist;
6 end;
7 /
8 @check my_failed_proc
9 create or replace procedure my_correct_proc as
10 i number;
11 begin
12 select 1 into i from dual;
13 end;
14 /
15* @check my_correct_proc
20:42:57 16 .
20:42:59 TEST@oars_sandbox> get check
1 declare
2 l_status varchar2(100);
3 begin
4 select status into l_status
5 from all_objects where object_name = upper('&1');
6 if l_status = 'INVALID' then
7 raise_application_error(-20000, 'Object &1 is invalid!');
8 end if;
9* end;
20:43:02 10 .
20:43:04 TEST@oars_sandbox> @scr
Warning: Procedure created with compilation errors.
Elapsed: 00:00:00.05
declare
*
ERROR at line 1:
ORA-20000: Object my_failed_proc is invalid!
ORA-06512: at line 8
Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production