DataBase : Transcation 트랜잭션

개비의 끄적끄적·2023년 2월 26일

💡 TRANSACTION

  • Transaction이란?
    DB에서 처리되는 여러 SQL 명령들을 하나의 작업 단위로 처리하는 것.
    ex) 계좌 이체. A가 돈을 빼서 B의 계좌로 돈을 보낸다 -> 두 개의 계좌에 잔액 변경(UPDATE) 되는 케이스가 2개 발생! -> 이걸 하나의 트랜잭션으로 본다

💡 TCL(Transaction Control Language) - 트랜잭션 제어어

  • 종류
    COMMIT : 변경된 작업 내용을 DB에 영구적으로 저장하고 트랜잭션 종료.
    ROLLBACK : 변경된 작업 내용을 모두 취소하고 트랜잭션 종료. (INSERT, UPDATE, DELETE 작업한 걸 모두 취소!)
    └ 어느 하나라도 실패하면 변경 작업 자체를 실패하게끔 하는게 rollback

  EX) 회원탈퇴(하나의 서비스)

	    회원 테이블에서 USER1 삭제    -> DELETE
        탈퇴회원 테이블에 USER1 삽입  -> INSERT
    ----------------------------------------------
      ▶ 2개의 DML 실행 => 트랜잭션으로 관리해야 한다.
      
      ¿ 그렇지 않으면, delete 했는데 insert가 안 되거나 delete를 안 했는데 insert가 되어있거나 하는 상황 발생됨!
        따라서 어느 하나라도 실패하면 변경 작업 자체를 실패하게 하는 것이 ROLLBACK임!
profile
앗녕하세요! 블비의 개적발적🐾

0개의 댓글