sql >> Databáze >  >> RDS >> Oracle

Získejte selhání sestavení loutky, když selže spuštění obsaženého skriptu SQL

Věřím, že puppet detekuje úspěch skriptu na základě návratového kódu volaného programu. Ve výchozím nastavení vrátí sqlplus 0, když jej zavřete, bez ohledu na to, co mohlo být během relace spuštěno.

[[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

Pokud chcete, aby sqlplus skončil s chybovým stavem, můžete použít příkaz whenever, např.

[[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

Všimněte si jiného návratového kódu v druhém případě. To by mělo stačit, aby loutka věděla, že příkaz selhal.




  1. Kdo přišel s termínem DIANA uzel a jak přišel na to, že 6 000 000 LOC je přibližně 67108864 (2**26) DIANA uzlů?

  2. Jak přidat sloupec JSON v MySQL pomocí migrace Rails 5

  3. Jak změnit všechny předpony tabulky v jednom dotazu

  4. Jak odstranit mnoho řádků z často používané tabulky