본문 바로가기

연구개발/SQL2005

프로시저에서 중첩된 프로시저 실행 후 트랜잭션 처리될 때

728x90
반응형

프로시저 안에서 다른 프로시저를 호출하고 처리할 경우
호출된 다른 프로시저들은 각각의 프로시저 안에서 트랜잭션이 커밋된 상태일 때
상위 프로시저가 에러 발생시 롤백을 하게 되면 하위 프로시저들은 (중첩된 프로시저) 전체 롤백을 한다.

CREATE PROC test1
BEGIN TRAN
    EXEC PRC_Test2 ''
    EXEC PRC_Test3 '', ''
    IF (@err1 <> )
        BEGIN
            ROLLBACK TRAN
        END
    ELSE
        BEGIN
            COMMIT TRAN
        END
728x90
반응형