solicitar reembolso qué que producto politicas pedido mac llego llega hacer dinero devuelvan cosmetics compre como oracle scripting sqlplus exit-code

oracle - reembolso - Sql*plus siempre devuelve el código de salida 0?



qué hacer si no me llega un pedido de ebay (3)

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 arranque con DEFINE `OFF` inicialmente?

Cree un archivo login.sql o edite el archivo global para tener

WHENEVER OSERROR EXIT FAILURE WHENEVER SQLERROR EXIT SQL.SQLCODE

dentro de eso. Entonces, 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, algunos comandos seguirán sin error, como cabría esperar.

Cada vez que ejecuto un script sql usando Sql * plus y verifico $ ?, obtengo 0 incluso cuando el script no fue exitoso.

Ejemplo

#$ sqlplus user/password@instance @script.sql SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 7 14:20:44 2013 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.8.0 - Production v$dataf-ile d, * ERROR at line 6: ORA-00933: SQL command not properly ended Disconnected from Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.8.0 - Production $ echo $? 0 $

Me gustaría que devuelva un valor distinto de cero cuando se produce un error.

¿Cómo puedo lograr eso?


Tienes que decirle explícitamente a sqlplus que haga eso en tu 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 los errores del sistema operativo:

WHENEVER OSERROR EXIT FAILURE START no_such_file

Para obtener más información, vea esto y aquello .

Espero eso ayude. ¡Buena suerte!


Vlad es la respuesta que usaría. Para aumentar el suyo, sin embargo, intento usar una declaración EXIT explícita si realmente necesito ese estado de devolución. Por ejemplo

column status_for_exit new_value exitcode noprint select status_computation (parm, parm) as status_for_exit from dual; exit &exitcode;