Esta sección fue probado por expertos así aseguramos la exactitud de nuestra esta crónica.
Solución:
Tienes que decir explícitamente 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!
Vlad es la respuesta que usaría. Sin embargo, para aumentar la suya, trato de usar una declaración EXIT explícita si realmente necesito ese estado de retorno. Por ejemplo
column status_for_exit new_value exitcode noprint
select status_computation (parm, parm) as status_for_exit from dual;
exit &exitcode;
La mejor acción podría ser una combinación de las otras ideas en esta página y las ideas en
¿Ayuda con SQLPLUS por favor? ¿Cómo hacer que SQLPLUS se inicie con DEFINE `OFF` inicialmente?
Cree un archivo login.sql o edite el global para tener
WHENEVER OSERROR EXIT FAILURE
WHENEVER SQLERROR EXIT SQL.SQLCODE
dentro de eso. Luego, si el archivo no existe, se producirá un error. Si una línea falla, se producirá un error.
Sin embargo, tenga en cuenta que, como dicen los documentos en: https://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve052.htm#SQPUG135, ciertos comandos aún no generarán errores como cabría esperar.
Eres capaz de corroborar nuestro ensayo ejecutando un comentario y dejando una puntuación te damos la bienvenida.