[ SQLD ]
1. SQL 기본
1-4. TCL (트랙잭션 제어 명령어)
TCL (트랜잭션 제어어) - 트랙잭션 제어 명령어
COMMIT : 작업 완료 처리
ROLLBACK : 작업 취소 처리
SAVEPOINT : 작업 처리 저장점 지정
트랜잭션 ?
데이터베이스의 작업처리를 결정하는 단위
트랜잭션 특징
1. 원자성 (Atomicity) - ALL OR NOTING : 모두 완료 or 아예 실행 X
ex) 영화 예매 후 지불 시 : 지불했지만 예매가 안되는일, 예매는 했지만 지불이 안되는 일을 방지하는것
2. 일관성 (Consistency) - 트랜잭션 전이나 후나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미
3. 고립성 (Isolation) - 트랜잭션 실행 중 다른 트랜잭션 접근금지
4. 지속성 (Durability) - 트랜잭션 실행 성공 후 결과 영구적으로 저장
실습
소스
SAVEPOINT T1;
INSERT INTO play (ID, NAME, NO) VALUES ( 1, '가', 1000);
SAVEPOINT T2;
INSERT INTO play (ID, NAME, NO) VALUES ( 2, '나', 2000);
ROLLBACK TO T2;
COMMIT;
SELECT * from PLAY;
설명
SAVEPOINT는 작업처리 할 저장점을 지정하는 명령어입니다.
1번 포인트지점을 설정하고
삽입 작업을 실시합니다.
2번 포인트지점을 설정하고
삽입 작업을 실시합니다.
이때, ROLLBACK을 이용하여 2번 포인트 지점의 작업을 취소 처리 합니다.
그리고 COMMIT 작업 완료를 시킵니다.
테이블을 조회하보면 T1 지점에 있던 '가'만 데이터가 들어간 걸 알 수 있습니다.
결론
1. COMMIT 작업완료 처리 하기 전에는 작업이 완료 전 상태
2. ROLLBACK을 이용하여 모든 작업을 취소가능
3. SAVEPOINT와 ROLLBACK을 이용하여 취소할 단계만 취소가능
4. 작업 후 COMMIT 작업완료 처리
'[자격증] SQLD(SQL개발자) > ↘ SQL 기본 및 활용' 카테고리의 다른 글
[ SQLD ] SQL 기본 - 6. FUNCTION (함수) (0) | 2020.05.27 |
---|---|
[ SQLD ] SQL 기본 - 5. WHERE 절 (0) | 2020.05.26 |
[ SQLD ] SQL 기본 - 3. DML (Data Manipulation Language) (데이터 조작어) (0) | 2020.05.26 |
[ SQLD ] SQL 기본 - 2. DDL (Data Definition Language) (데이터 정의어) (0) | 2020.05.22 |
[ SQLD ] SQL 기본 - 1. 관계형 데이터베이스 개요 (0) | 2020.05.22 |
댓글