Я использую Windows 10-64 бит и 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' не существует), et c.
Когда я запускаю test1.bat, я не могу ссылаться на код возврата из Oracle SQLPLUS, даже если пользователь был ранее удален. Пакетный сценарий генерирует
>Echo 0
0
Как передать код ошибки из Oracle SQLPLUS обратно в пакетный сценарий, который его вызвал? Вот тест1. 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;