67. [SQL]_(06) TCL (Transaciton Control Language)

hyunsoda·2024년 3월 7일

DB

목록 보기
7/11
post-thumbnail

TCL

  • 트렌젝션 언어

  • COMMIT(트렌젝션 종료 후 저장), ROLLBACK(트렌젝션 취소), SAVEPOINT(임시저장)

  • DML : 데이터 조작 언어로 데이터의 삽입, 수정, 삭제

TRANSACTION이란?

  • 데이터베이스의 논리적 연산 단위
  • 데이터 변경 사항을 묶어서 하나의 트랜잭션에 담아 처리함
  • 트렌젝션의 대상이 되는 데이터 변경 사항 : INSERT, UPDATE, DELETE, MERGE

    INSERT 수행 -------------------------------------------------------------> DB 반영 (X)
    INSERT 수행 ---------> 트랜잭션에 추가 -------> COMMIT -----------> DB 반영 (O)
    INSERT 10번 수행 --> 1개의 트랜잭션에 10개 추가 --> ROLLBACK---> DB 반영 (X)

1 ) COMMIT : 메모리 버퍼(트랜잭션)에 임시 저장된 데이터 변경 사항을 DB에 반영

2 ) ROLLBACK : 메모리 버퍼(트랜잭션)에 임시 저장된 데이터 변경 사항을 삭제하고 마지막 COMMIT 상태로 돌아감 (DB에 변경 내용 반영 X)

3 ) SAVEPOINT : 메모리 버퍼(트랜잭션)에 저장 지점을 정의하여 ROLLBACK 수행 시 전체 작업을 삭제하는 것이 아닌 저장 지점까지만 일부 ROLLBACK

[SAVEPOINT 사용법]

...
SAVEPOINT "포인트명1";

...
SAVEPOINT "포인트명2";

...
ROLLBACK TO "포인트명1"; -- 포인트1 지점까지 데이터 변경사항 삭제

SAVEPOINT 지정 및 호출 시 이름에 ""(쌍따옴표) 붙여야함!! *
➡️DBeaver 업데이트 사항

0개의 댓글