我似乎无法在任何地方找到如何捕获并重新抛出可能发生在过程中的任何错误或警告.
我想要的是执行以下操作的语法:
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()不存在)