Nie mogę znaleźć nigdzie, jak złapać i ponownie rzucić błędy lub ostrzeżenia, które mogą wystąpić w procedurze.Jak złapać i ponownie wyrzucić wszystkie błędy w MySQL
Co chcę jest składnia aby wykonać następujące czynności:
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; //
Wynika to z faktu, że chcę wymusić wycofywania się na błędzie lub ostrzeżenie, ale pozostawić go do klienta, aby zdecydować, co zrobić z konkretny błąd.
Obszary z wszystkimi ograniczeniami to części, w których nie wiem, co umieścić.
Dzięki za pomoc!
Edycja -------
Mam ponieważ dowiedział się, że nie jest możliwe, aby robić to, co ja zapytałem: ". (
Zamiast mam jeden błąd za wszystko, co idzie źle i używany następujący kod:
declare exit handler for sqlwarning, sqlexception begin
rollback;
call error();
end;
(błąd() nie istnieje)
To pytanie stanowiłoby częściowe rozwiązanie: http://stackoverflow.com/questions/18858567/mysql-exception-handler-access-excep w jaki sposób "częściowy" traktowany jest jako " – djechlin
"? czego brakuje? – rsanchez