Tienes que decirle explícitamente a sqlplus
para hacer eso, en su script. Básicamente, hay dos declaraciones que puede usar:
WHENEVER SQLERROR EXIT SQL.SQLCODE
WHENEVER OSERROR EXIT
Por ejemplo:
WHENEVER SQLERROR EXIT SQL.SQLCODE
begin
SELECT COLUMN_DOES_NOT_EXIST FROM DUAL;
END;
/
Y para errores del sistema operativo:
WHENEVER OSERROR EXIT FAILURE
START no_such_file
Para obtener más información, consulte esto y aquello.
Espero eso ayude. ¡Buena suerte!