우선 MariaDB 10.1 버전을 사용하고 있습니다.
autocommit = ON 으로 설정 되어 있고요..
저장프로시저 내에서
DECLARE exit handler for SQLEXCEPTION
BEGIN
ROLLBACK;
END;
START TRANSATION;
INSERT INTO ... (정상)
INSERT INTO ...(정상)
INSERT INTO .. (오류)
COMMIT;
정상적으로 ROLLBACK 이 됩니다.
여기서 질문 드리면..
START TRANSACTION;
CALL TestProcedure ;
/* 오류 발생 */
ROLLBACK;
구문을 사용하면
오류 발생 된 구문 전까지 COMMIT 이 일어나고 ROLLBACK 이 되지 않습니다.
위 발생 원인이나 해결방안 이 있다면 답변 부탁드리겠습니다.
|