Как отловить и перебросить все ошибки в MySQL
Я могу'Кажется, нигде не найдено, как отлавливать и повторно выдавать любые ошибки или предупреждения, которые могут возникнуть в процедуре.
То, что я хочу, это синтаксис, чтобы сделать следующее:
create procedure myProcedure()
begin
declare exit handler for ANYTHING_WRONG_THAT_CAN_BE_CAUGHT_WARNINGS_INCLUDED
begin
rollback;
RE_THROW THE_THING_THAT_WAS_CAUGHT;
end;
start transaction;
-- do some stuff
commit;
end; //
Причина в том, что я хочу принудительно откатить сообщение об ошибке или предупреждении, но клиенту решать, что делать с конкретной ошибкой.
Все заглавные буквы - это участки, где я не знаю, что положить.
Спасибо за любую помощь!
Редактировать -------
С тех пор я узнал, что невозможно сделать то, что я просил:(.
Вместо этого у меня есть одна ошибка для всего, что идет не так, и использовал следующий код:
declare exit handler for sqlwarning, sqlexception begin
rollback;
call error();
end;
(ошибка () не существует)