CODEDRAGON ㆍDevelopment/Database
SAVEPOINT
· 현재의 트랜잭션을 작게 분할하는 명령어입니다.
· 저장된 SAVEPOINT는 ROLLBACK TO SAVEPOINT문을 사용하여 표시한 곳까지 ROLLBACK 할 수 있습니다.
· 여러 개의 SQL문을 실행하는 트랜잭션의 경우 사용자가 트랜잭션 중간 단계에서 SAVEPOINT를 지정하고 차후 ROLLBACK과 함께 사용하여 현재 트랜잭션 내의 특정 SAVEPOINT까지 ROLLBACK할 수 있게 합니다.
SAVEPOINT 도식도
COMMIT명령이 수행된 후 다음 COMMIT명령이 수행될 때 까지가 하나의 트랜잭션으로 구성되므로 3개의 명령문(UPDATE, DELETE, INSERT)이 하나의 트랜잭션이 됩니다.
이렇게 트랜잭션을 구성할 때 중간 중간 SAVEPOINT명령으로 특정 위치를 지정해 놓으면 하나의 트랜잭션내에서도 ROLLBACK TO 명령문을 통해 SAVEPOINT로 표시한 곳까지 ROLLBACK할 수 있습니다.
COMMIT vs SAVEPOINT
큰 작업 단위는 COMMIT을 사용하여 트랜잭션으로 묶어두고, 트랜잭션 안에서의 작은 단위는 SAVEPOINT를 설정하는 것이 좋습니다.
큰 작업단위 |
COMMIT |
작은 작업단위 |
SAVEPOINT |
SAVEPOINT 형식
· SAVEPOINT로 특정 위치를 지정하기
· SAVEPOINT로 지정해 놓은 특정 위치로 되돌아가기
SAVEPOINT로 특정 위치를 지정하기
SAVEPOINT 레이블명; |
SAVEPOINT로 지정해 놓은 특정 위치로 되돌아가기
ROLLBACK TO 레이블명; |
'Development > Database' 카테고리의 다른 글
데이터 연동 기술의 발전 (0) | 2019.12.26 |
---|---|
IT&기계학습 - 인스턴스의 ID 속성 (0) | 2019.12.19 |
자료형(데이터형; 데이터 형식; 데이터 타입; Data Type) (0) | 2019.12.17 |
CREATE TABLE - CREATE TABLE 형식, 서브쿼리를 통한 테이블 생성, 가상컬럼 테이블 생성 (0) | 2019.12.17 |
오라클 설치파일 다운로드(download) (0) | 2019.12.12 |