★★★트랜젝션★★★
데이터를 처리하는 '하나의 논리적인 작업 단위'
-> 데이터의 일관성 유지, 안정적으로 데이터 복구
ex) 이체 라는 개념은 한쪽에서 돈이 빠져나가고 다른 한쪽이 돈을 받는것인데,
빠져나간후에 중간에 문제가 생겨 돈을 받지못한다면 빠져나간 돈은 누가 가져간것일까?
이런 문제가 발생하지 않게 하기위해 이러한 일련의 과정을 하나의 세트로묶어
과정 전체를 하나로 묶어주는게 트랜젝션이다
1. COMMIT : 모든 작업들을 정상적으로 처리하겠다고 확정하는 명령어
변경된 내용을 모두 영구 저장한다. COMMIT 명령어를 수행하게 되면 하나의 트랜젝션과정이 종료
-> COMMIT을 써서 종료하면 다음 문장부터 다시 새로운 트랜젝션이 시작한다.
2. Rollback
Commit 문 이후부터 쭉 코드를 작성하다가 문제가 생겨 rollback을 쓰면
마지막으로 COMMIT 사용한 시점으로 돌아가고 중간의 데이터는 전부 사라진다.
마지막으로 실행한 COMMIT(혹은 롤백) 명령 이후부터
새로운 COMMIT(혹은 롤백) 명령을 실행하는 시점까지
-> 하나의 트랜잭션으로 묶인다.
* 자동 Commit / 자동 Rollback
1.정상종료 되면 자동 COMMIT -> exit
2.비정상종료 되면 자동 ROllback
3.DDL과 DCL 명령문이 수행되면 자동으로 COMMIT
*SAVEPOINT
SAVEPOINT 칼럼명;
ROLLBACK to
'Database' 카테고리의 다른 글
조인(Join) (0) | 2018.06.18 |
---|---|
무결성 제약 조건 (0) | 2018.06.15 |
테이블 구조를 결정하는 '삭제' (0) | 2018.06.15 |
테이블 구조를 결정하는 '변경' (0) | 2018.06.15 |
DDL = 테이블 구조를 결정하는 '생성' (0) | 2018.06.15 |