[DB] 트랜잭션(Transaction)이란?

@욕심쟁이

·

2020. 8. 21. 11:34

반응형

트랜잭션(Transaction)이란? 

- 논리적인 작업 단위

- 여러 DML아 모여서 하나의 트랜잭션이 구성

- DML 작업 후 commit, rollback 으로 트랜잭션 종료해야 함. 

- DDL 작업시 commit이 자동으로 됨

트랜잭션 구성

- 여러 DML구문이 하나의 트랜잭션

- 하나의 DDL구문이 하나의 트랜잭션

- 하나의 DCL 구문이 하나의 트랜잭션

트랜잭션 시작 및 종료

- 시작 : 첫번쨰 DML구문실행시

- 종료 : commit 또는 rollback tlfgodtl

           DDL 또는 DCL 구문실행시 (autocommit)

           SQL *PLUS 정상 종료 시(autocommit)

           시스템장애 시(autorollback)

트랜잭션 제어어(TCL/Transaction Control Language)

 - COMMIT : 진행 중인 트랜잭션의 내용을 데이터베이스에 기록하는 명령어.

commit

 - ROLLBACK : 진행 중인 트랜잭션의 내용을 취소하는 명령어.

rollback

 - SAVEPOINT : 트랜잭션 진행 중 되돌아갈 수 있는 지점을 생성하는 명령어

 

 

select * from copy_emp;

update copy_emp set salary =24000 where employee_id=113;

savepoint update_done; -- savepoint 저장

delete copy_emp; -- 테이블데이터삭제

rollback to SAVEPOINT update_done; --savepoint update_done까지 rollback
반응형