[DB]/[MSSQL]

# 트랜잭션

할수있다!긍정왕 2020. 4. 7. 20:34

# 트랜잭션 
- 명시적 트랜잭션(Explicit Transacions)
 트랜잭션의 시작과 끝을 사용자가 직접 결정하는 트랜잭션 유형을 명시적 트랜잭션 
 BEGIN TRAN -> 데이터변경처리 -> COMMIT TRAN   완료
  -> ROLLBACK TRAN 완료

 * SET XACT_ABORT ON /OFF
 모든 오류로부터 일관성이 유지되는 것은 아니다.
 성공하는 쿼리문과 실해하는 쿼리문이 명시적 트랜잭션안에서 수행하지만 
 성공하는 쿼리문이 나옴 
 따라서 실패시 모든 처리가 취소되게 할 것이라면 SET XACT_ABORT_ON문 실행
 
- 묵시적 트랜잭션(Implicit Transactions)
 데이터변경처리 -> COMMIT TRANS - 완료
    -> ROLLBACK TRANS - 취소
 * SET IMPLICIT_TRANSACTIONS ON