데이터베이스

[DB] TCL(트랙잭션 제어어, Transaction Control Language)

bornsoon 2024. 9. 25. 14:37

트랜잭션이란?

- an Atomic Unit of Work, Business Rule

- 어떤 작업을 수행하는데 있어 분리될 수 없는 단계의 묶음

- 작업의 단계 중 하나라도 실패하면 전체 작업이 실패 (All or Nothing)

 

--------------------------------------------------------------------------------------------------------------

  • COMMIT

DML 작업들이 문제가 없어서 데이터베이스에 영구적으로 반영

 

  • ROLLBACK

DML 작업 중 문제가 있어 모든 변경사항을 없었던 일로 되돌림

트랜잭션 시작 전으로 되돌림

 

  • SAVEPOINT

트랜잭션의 중간으로 되돌릴 수 있도록 중간 지점 설정

--------------------------------------------------------------------------------------------------------------

 

  • 세션 당 트랜잭션은 하나 (예외: 자율 트랜잭션)
  • 트랜잭션의 시작: 첫 DML
  • 트랜잭션의 종료: COMMIT, ROLLBACK
  • DDL, DCL은 문장 자체가 하나의 트랜잭션 -> 의도치 않은 트랜잭션 종료 가능성
  • 트랜잭션은 DML로 구성되며 SELECT 문은 트랜잭션에 아무런 영향 X
728x90