Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Uzyskaj kompilację marionetek, aby nie powiodła się, gdy zawarty skrypt SQL nie zostanie wykonany

Uważam, że marionetka wykrywa powodzenie skryptu na podstawie kodu zwrotnego wywoływanego programu. Domyślnie sqlplus zwraca 0 po zamknięciu, niezależnie od tego, co mogło zostać uruchomione podczas sesji.

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 17 08:47:08 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select asdjkhasd from sadbjaksd;
select asdjkhasd from sadbjaksd
                      *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[[email protected] ~]$ echo $?
0

Jeśli chcesz, aby sqlplus zakończył działanie ze statusem błędu, możesz użyć polecenia when, np.

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 17 08:48:17 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> whenever sqlerror exit failure;
SQL> select bogus from nowhere;
select bogus from nowhere
                  *
ERROR at line 1:
ORA-00942: table or view does not exist


Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[[email protected] ~]$ echo $?
1

Zwróć uwagę na inny kod zwrotny w tym drugim przypadku. To powinno wystarczyć, aby marionetka wiedziała, że ​​polecenie nie powiodło się.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd SQL - brak słowa kluczowego

  2. Wybierz ciąg jako liczbę w Oracle

  3. Jak wyeksportować przeanalizowane dane z Pythona do tabeli Oracle w SQL Developer?

  4. sekwencja hibernacji wyroczni wytwarza dużą lukę

  5. sbt download artefakt z repozytorium chronionego hasłem - sterownik Oracle jdbc jako zarządzana zależność