Я использую Windows 10-64 bit и Oracle 18.4. У меня есть командный файл Windows (test1.bat), который вызывает файл сценария Windows SQL.
SQLPLUS -s (username)/(password) as sysdba @test1.sql
Echo %errorlevel%
Затем я хотел бы выполнить некоторую проверку ошибок в переменной% errorlevel%, когда я вернусь к Test1.bat из SQLPLUS. Я создам разные процессы в зависимости от того, является ли код возврата ORA-01940 (невозможно удалить подключенного в данный момент пользователя) или ORA-01918 (пользователя MYUSER не существует) и т. Д.
Когда я запускаю test1.bat, я не могу ссылаться на код возврата из Oracle SQLPLUS, даже если пользователь был ранее удален. Пакетный скрипт генерирует
>Echo 0
0
Как я могу передать код ошибки из Oracle SQLPLUS обратно в пакетный скрипт, который его вызвал? Вот test1.sql
PROMPT Begin Dropping User Schema MyUser
Alter Session Set CONTAINER=(MyContainer);
Alter Session Set "_oracle_script"=true;
DROP user MYUSER cascade;
Whenever sqlerror exit sql.sqlcode;
EXIT;