▶ TCL(TRANSACTION CONTROL LANGUAGE)
- 트랜잭션을 제어하는 언어
■ 트랜잭션(TRANSACTION)
- 데이터베이스의 논리적 작업 단위
- 데이터의 변경사항(DML)들을 하나의 트랜잭션으로 묶어서 처리하겠다.
=> COMMIT(확정)하기 전까지의 변경사항들을 하나의 트랜잭션으로 담겠다.
- 트랜잭션의 대상이 되는 SQL : INSERT, UPDATE, DELETE(DML)
● 트랜잭션의 종류
- COMMIT; : 하나의 트랜잭션에 담겨있는 변경사항들을 실제 DB에 반영하겠다는 것을 의미한다. (실제 DB에 반영시킨 후 트랜잭션은 비워짐 => 확정의 개념)
- ROLLBACK; : 하나의 트랜잭션에 담겨있는 변경사항들을 실제 DB에 반영하지 않겠다는 것을 의미한다.(트랜잭션에 담겨있는 변경사항도 다 삭제한 후 마지막 COMMIT 시점으로 돌아간다.)
- SAVEPOINT 포인트명; : 현재 이 시점에 임시저장점을 정의해두는 것
- ROLLBACK TO 포인트명; : 전체 변경사항들을 삭제(마지막 COMMIT시점까지 돌려놓기)하는 것이 아니라 해당 포인트 지점까지의 트랜잭션을 롤백한다.
※ 주의사항)
DDL 구문(CREATE, ALTER, DROP)을 실행하는 순간 기존에 트랜잭션에 있던 모든 변경사항들을 무조건 실제 DB에 반영 시킨후에 DDL이 수행된다.
=> 즉, DDL 수행전에 변경사항이 있었다면 정확하게 픽스(COMMIT OR ROLLBACK)를 하고 DDL을 실행해야 한다.
'DB' 카테고리의 다른 글
DB (12) OBJECT(SEQUENCE) (2) | 2023.06.13 |
---|---|
DB (11) OBJECT (0) | 2023.06.13 |
DB (9) DCL(GRANT, REVOKE) (0) | 2023.06.13 |
DB (8) DDL(ALTER, DROP) (0) | 2023.06.10 |
DB (7) DML(INSERT, UPDATE, DELETE) (0) | 2023.06.10 |