Я не могу найти нигде, как поймать и повторно выбросить любые ошибки или предупреждения, которые могут возникнуть в процедуре.
Я хочу, чтобы синтаксис выполнял следующие действия:
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;
(error() не существует)