Syntax | TCL Syntax

공부의 기록·2022년 3월 17일
0

DB Oracle

목록 보기
4/6
post-thumbnail

Introduce

본 문서는 2022년 3월 17일 에 작성되었습니다.

TCL(Transactin Control Language, 트랜젝션 제어어) 은 쉽게 생각하면,
Transaction 이라는 것을 제어하는 언어라는 뜻입니다.

여기서 우리는 Transaction 이라는 개념에 대해서 짚고 넘어가야 합니다.
본 문서에서는 Transaction 에 대한 이해TCL 을 포함하고 있습니다.

다음을 참고해주세요.

  1. Velog - Unchaptered / Syntax | DDL Sytax
  2. Velog - Unchaptered / Syntax | DML Sytax

Thoery

트랜잭션 제의어에 대해서 공부하기 전에,
트랜잭션에 대해서 짚고 넘어가도록 하겠습니다.

Transaction

Transaction 은 DB 의 논리적 연산 단위입니다.

이러한 Transaction 은 SQL 문장과 완벽히 일치하지 않으며,
1개 이상의 SQL 문장을 하나의 Transaction 으로 처리하게 됩니다.
Tistory - 쩨리쩨리 / [SQL] Transaction(트랜잭션)

이러한 Transaction 을 제어하기 위한 TCL 이지만,
MySQL 이나 Oracle 을 사용하면서 TCL 을 실제로 입력한 기억은 없었습니다.
이는 기본 설정이 AUTO-COMMIT (모든 명령어를 자동으로 COMMIT) 이기 때문입니다.

AUTO-COMMIT 을 풀면,
DDL(Data Definition Language, 데이터 정의어) 은 자동으로 COMMIT 이 됩니다.
DML(Data Manipulation Language, 데이터 질의어) 은 수동으로 COMMIT 해야 합니다.

DB 정상 종료와 Transaction

DB 가 정상 종료될 경우, 모든 SQL 문장이 자동으로 COMMIT 됩니다.

DB 비정상 종료와 Transaction

DB 가 비정상 종료될 경우, 모든 SQL 문장이 자동으로 ROLLBACK 됩니다.


TCL

TCL 을 공부하기 이전에 필요한 모든 기본 개념을 공부하였습니다.
이제 우리는 TCL 을 통해서 Transaction 을 제어(COMMIT/ROLLBACK)를 할 수 있습니다.

COMMIT

마지막 COMMIT 이후에 누적된 SQL 명령어들을 모두 반영합니다.
COMMIT 을 하지 않으면, 다른 사용자(DB접속자) 는 제대로된 정보를 볼 수 없습니다.

COMMIT;

ROLLBACK

마지막 COMMIT 이후에 누적된 SQL 명령어들을 모두 되돌립니다.

ROLLBACK;

SAVEPOINT

별도로 SAVEPOINT 를 만들어서 Transaction 의 COMMIT/ROLLBACK 을 제어할 수 있습니다.

SAVEPOINT 이름;

COMMIT 이름;
ROLLBACK 이름;
profile
2022년 12월 9일 부터 노션 페이지에서 작성을 이어가고 있습니다.

0개의 댓글