Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Sql*plus sempre retorna o código de saída 0?


Você tem que dizer explicitamente ao sqlplus para fazer isso, em seu script. Basicamente, existem duas declarações que você pode usar:
  • WHENEVER SQLERROR EXIT SQL.SQLCODE
  • WHENEVER OSERROR EXIT

Por exemplo:
WHENEVER SQLERROR EXIT SQL.SQLCODE
begin
  SELECT COLUMN_DOES_NOT_EXIST FROM DUAL;
END;
/

E para erros do SO:
WHENEVER OSERROR EXIT FAILURE
START no_such_file

Para obter mais informações, consulte isto e aquilo.

Espero que ajude. Boa sorte!