Toad World® Forums

FIXED Stop script execution in Script Manager on error


#1

Hello,

In Script Manager, it is not possible to stop script execution on error. In fact, next scripts will be executed.

We would like Script Manager to stop on error in order to correct the issue before next scripts executions.

I have a ticket for this : SR Number:3927401 (with Milton Villegas) and also a Community Discussion :

http://www.toadworld.com/products/toad-for-oracle/f/10/t/32255

A simple test case to reproduce issue is documented in the SR (comment on Mar 16, 2017 05:37 AM (PST) Customer Web Update)

We plan to puchase Toad on november and this feature will be a Go or NoGo because it is important for us.

I'll copy the test case bellow.

Thanks for your support

Michael

1) Create 4 scripts :

--script0.sql
create table test (a number, b varchar2(10));create table test (a number, b varchar2(10));
--script1.sql
insert into test values (1, 'A');
commit;
--script2.sql
insert into test (2, 'B');
commit;
--script3.sql
insert into test values (3, 'C');
commit;

2) Open Utilities / Script Manager
Add 4 scripts in the same group
On the line of this group, you can check the checkbox in the last column "On File Menu"
Click "run selected scripts" in the toolbar

3) The output message show "1 error" for script2.sql

4) select * from test order by a;

You will see that record '2', 'B' is missing.
We expected Script Manager to stop running when it will hit an error.
Instead, Script Manager run next scripts.


#2

An easy workaround is to make a "master" script which calls all of your scripts, and at the top of your master script, include this:

WHENEVER SQLERROR EXIT ROLLBACK;


#3

I added a "Stop on Error" option in the Script Manager.   It will be there next beta.


#4