Как передать код возврата из сценария Oracle SQL обратно в пакетный сценарий, который его вызвал? - PullRequest
0 голосов
/ 25 января 2020

Я использую 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;
...