sql >> Database teknologi >  >> RDS >> Oracle

Hvordan sender jeg en returkode fra et Oracle-script tilbage til WINDOWS Batch-scriptet, som kaldte det?

Du skal erklære fejltilstandshåndteringen, før fejlen opstår:

Whenever sqlerror exit sql.sqlcode; 
DROP user MYUSER cascade;
EXIT 0;

Du kan ændre håndteringen på forskellige tidspunkter i scriptet. For eksempel kan du lave et beskyttende drop før oprettelse, ved at ignorere en fejl på drop, men stadig stoppe, hvis det næste trin mislykkes:

whenever sqlerror continue
drop ...
whenever sqlerror exit failure
create...
alter...
etc

I øvrigt, i Unix-land er denne tilgang begrænset, fordi de fleste (alle?) skaller har begrænset returkode, og højere tal ombrydes; så ORA-0918 ville blive rapporteret som 126, hvilket gør det umuligt at fortolke. Endnu vigtigere vil nogle værdier ombrydes til nul, hvilket får det til at se ud som om der ikke er opstået nogen fejl. Du har heldigvis ikke det problem med %errorlevel%.




  1. Returner kolonnenavn og distinkte værdier

  2. Masseindsættelse af generisk liste C# i SQL Server

  3. Bestilling af kolonnerne i MySql-tabellen ved hjælp af Python

  4. indstillingsflagværdibase på post findes i en anden tabel