프로 시저에서 발생할 수있는 오류나 경고를 잡아서 다시 던지는 방법을 찾을 수없는 것 같습니다.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; //
내가 수행 할 작업을 결정하는 오류 또는 경고에 롤백을 강제하지만 클라이언트에 맡길 것인지되는 이유 특정 오류.
모든 대문자 영역은 무엇을 넣을 지 모르는 부분입니다.
도움 주셔서 감사합니다.
편집 -------
난 이후 내가 부탁 한 일을 할 수 없습니다 배웠습니다 :. '(
을 대신 내가 잘못되면 아무것도에 대해 하나의 오류를 가지고 다음 코드를 사용 : 모든 SQL 예외를 잡으려고
declare exit handler for sqlwarning, sqlexception begin
rollback;
call error();
end;
(오류() 존재하지 않는)
이 질문은 부분적인 해결책을 제공합니다. http://stackoverflow.com/questions/18858567/mysql-exception-handler-access-excep 처리 중 – djechlin
왜 '부분'입니까? 누락 된 것이 무엇입니까? – rsanchez