[SQL] 데이터베이스 - TCL

songu1·2022년 8월 2일
0

현장실습

목록 보기
3/6

TCL(Transaction Control Language)

트랜잭션을 제어하는 명령어

1. ROLLBACK

  • 보류중인 모든 데이터 변경사항을 폐기.
  • 현재 트랜잭션 종료
  • 직전 commit 직후 단계로 회귀

2. COMMIT

  • 보류중인 모든 데이터 변경사항을 영구적으로 적용.
  • 현재 트랜잭션 종료

3. SAVEPOINT

  • rollback할 포인트 지정

단계별 특징

1. COMMIT전/ROLLBACK전

  • 이전 데이터 상태 복구(ROLLBACK)가능
  • 현재 사용자 : SELECT - FROM으로 DML 작업 결과 확인 가능
  • 다른 사용자 : COMMIT 전 DML 작업결과 확인 불가
  • 행 잠금 : 다른 사용자가 영향을 받는 행의 데이터 변경 불가

2. COMMIT 후

  • 보류 중인 변경사항들을 확정, 영구적용 → DB에 저장
  • 이전 데이터 상태 겹쳐씀
  • 모든 사용자가 DML 결과 확인 가능
  • 관련있는 행 잠금 해제 → 다른 사용자의 접근/편집 가능
  • SAVEPOINT가 지워짐

0개의 댓글