我似乎无法找到任何地方如何捕获并重新抛出过程中可能发生的任何错误或警告.
我想要的是执行以下操作的语法:
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; //
Run Code Online (Sandbox Code Playgroud)
原因是我想强制对错误或警告进行回滚,而是将其留给客户端来决定如何处理特定错误.
全部区域是我不知道放什么的部分.
谢谢你的帮助!
编辑-------
我已经知道我不可能做我所问的:'(.
相反,对于出错的任何内容我都会遇到一个错误并使用以下代码:
declare exit handler for sqlwarning, sqlexception begin
rollback;
call error();
end;
Run Code Online (Sandbox Code Playgroud)
(error()不存在)