본문 바로가기

데이터베이스

[데이터베이스] 9. SQL(Structured Query Language) - TCL

반응형

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

  • 트랜잭션 제어어는 트랜잭션의 DML(Data Manipulation Language)작업단위를 제어하는 명령어이다.
  • 종류
    • COMMIT, ROLLBACK, SAVEPOINT 등이 있다.
  • COMMIT: 트랜잭션을 완료하여 데이터 변경사항을 최종 반영
    • COMMIT 이후 데이터 상태
      • 데이터에 대한 변경 사항이 물리적인 디스크에 반영된다.
      • COMMIT 이전 데이터는 복구할 수 없다.
      • 모든 사용자가 변경된 결과를 볼 수 있다.
      • 관련된 행에 대한 잠금(Lock)이 풀리며 다른 사용자들이 조작할 수 있다.
    • 문법
      COMMIT;
  • ROLLBACK: 데이터 변경사항을 이전 상태로 되돌리는 명령어
    • ROLLBACK 이후 데이터 상태
      • ROLLBACK된 DML 문장은 메모리 상의 Buffer에만 영향을 미치기 때문에 복구가 가능하다.
      • 관련되 행에 대한 잠금(Lock)이 풀리게 된다.
    • 문법
      ROLLBACK;
      /*
          1) INSERT ...;
          2) SAVEPOINT A;
          3) UPDATE ...;
          4) SAVEPOINT B;
          5) DELETE ...;
          6) ROLLBACK TO A;
      */
  • SAVEPOINT: 지정된 특정 시점까지 Rollback 할 수 있는 명령어
    • 문법
      SAVEPOINT 특정지점 명칭;
    • SAVEPOINT 활용 예시

SavePoint 적용범위

 

 

참고자료

  • NCS학습모듈 - 데이터입출력구현
반응형