Oracle SQL Разработчик: остановка запуска скрипта при ошибке - PullRequest
1 голос
/ 09 января 2020

Поведение по умолчанию SQL Разработчик должен продолжать выполнение последующих команд в сценарии, даже если обнаружена ошибка. Можно ли остановить его или спросить пользователя, продолжать или нет (например, как в SQL Workbench)?

1 Ответ

2 голосов
/ 09 января 2020

SQL Разработчик поддерживает команды SQL* Plus whenever sqlerror и whenever oserror.

Они позволяют остановить обработку, когда скрипт попадает в проблему.

Например, если я запускаю это:

select * from dual
where  ;

select * from dual;

whenever sqlerror exit
whenever oserror exit

select * from dual
where  ;

select * from dual;

Вывод будет таким (обратите внимание, что окончательного выбора не произошло):

SQL> select * from dual
  2  where  ;

Error starting at line : 2 in command -
select * from dual
where  
Error at Command Line : 3 Column : 7
Error report -
SQL Error: ORA-00936: missing expression
00936. 00000 -  "missing expression"
*Cause:    
*Action:
SQL> 
SQL> select * from dual;
DUMMY   
X        


SQL> 
SQL> whenever sqlerror exit
SQL> whenever oserror exit
SQL> 
SQL> select * from dual
  2  where  ;

Error starting at line : 10 in command -
select * from dual
where  
Error at Command Line : 11 Column : 7
Error report -
SQL Error: ORA-00936: missing expression
00936. 00000 -  "missing expression"
*Cause:    
*Action:
...