본문 바로가기
MySql

MySQL : 저장 프로 시저 내의 트랜잭션

by 베이스 공부 2020. 9. 17.
반응형

내 저장 프로 시저의 기본 구조는 다음과 같습니다.

BEGIN

    .. Declare statements ..

    START TRANSACTION;

        .. Query 1 ..
        .. Query 2 ..
        .. Query 3 ..

    COMMIT;

END

MySQL 버전 : 5.1.61-0ubuntu0.11.10.1-log

현재 'query 2'가 실패하면 'query 1'의 결과가 커밋됩니다.

 

해결 방법

 


기본적으로 롤백을 호출하는 오류 처리기를 선언합니다.

START TRANSACTION;

DECLARE EXIT HANDLER FOR SQLEXCEPTION 
    BEGIN
        ROLLBACK;
        EXIT PROCEDURE;
    END;
COMMIT;

 

참조 페이지 https://stackoverflow.com/questions/9974325

 

 

반응형

댓글