Než dojde k chybě, musíte deklarovat zpracování chybových podmínek:
Whenever sqlerror exit sql.sqlcode;
DROP user MYUSER cascade;
EXIT 0;
Zpracování můžete změnit na jiném místě skriptu. Před vytvořením můžete například provést ochranné upuštění tak, že budete ignorovat chybu v upuštění, ale přesto se zastavíte, pokud další krok selže:
whenever sqlerror continue
drop ...
whenever sqlerror exit failure
create...
alter...
etc
Mimochodem, v Unixu je tento přístup omezený, protože většina (všech?) shellů má omezený návratový kód a vyšší čísla se obtáčí; takže ORA-0918 by bylo hlášeno jako 126, což znemožnilo interpretaci. Ještě důležitější je, že některé hodnoty se zalomí na nulu, takže to bude vypadat, že nedošlo k žádné chybě. Tento problém s %errorlevel% naštěstí nemáte.