У меня следующая процедура:
procedure mayFailProc() as
begin
insert into t1 (id, val) values (1, '123');
insert into t1 (id, val) values (2, '123');
insert into t1 (id, val) values (3, '123'); //fails, i.e. due to pk uniqueness error
end;
это исключение, выброшенное в mayFailProc
, является обычной вещью, и оно обрабатывается вызывающей стороной. Таким образом, транзакция не откатывается и выполнение продолжается, как если бы не было исключения в mayFailProc
. Интересно, что будет с первыми двумя успешно выполненными вставками? Будут ли они сохранены или нет?