트랜잭션 커밋
트랜잭션을 커밋하면 변경 사항이 영구적으로 적용되며, 저장점이 지워지고, 잠금이 해제됩니다.
트랜잭션을 명시적으로 커밋하려면 COMMIT 문 또는 SQL Developer 환경의 경우 변경 사항 커밋 아이콘을 사용하십시오.
주: Oracle Database는 DDL(데이터 정의어) 문 전/후에 암시적인 COMMIT 문을 실행합니다. DDL 문에 대한 자세한 내용은 "DDL(데이터 정의어) 문 정보"를 참조하십시오.
트랜잭션을 커밋하기 전:
-
변경 사항은 본인에게만 표시되고 데이터베이스 인스턴스의 다른 사용자에게는 보이지 않습니다.
-
변경 사항이 최종이 아니므로 ROLLBACK 문을 사용하여 실행 취소할 수 있습니다.
트랜잭션을 커밋한 후:
-
변경 사항이 다른 사용자 및 트랜잭션을 커밋한 후 실행되는 다른 사용자의 명령문에 표시됩니다.
-
변경 사항이 최종이므로 ROLLBACK 문을 통해 실행 취소할 수 없습니다.
예제 3-7에서는 REGIONS 테이블에 행을 추가하고(매우 간단한 트랜잭션), 결과를 확인한 다음 트랜잭션을 커밋합니다.
예제 3-7 트랜잭션 커밋
트랜잭션 이전:
SELECT * FROM REGIONS
ORDER BY REGION_ID;
결과:
REGION_ID REGION_NAME
---------- -------------------------
1 Europe
2 Americas
3 Asia
4 Middle East and Africa
4 rows selected.
트랜잭션(테이블에 행 추가):
INSERT INTO regions (region_id, region_name) VALUES (5, 'Africa');
결과:
1 row created.
추가된 행 확인:
SELECT * FROM REGIONS
ORDER BY REGION_ID;
결과:
REGION_ID REGION_NAME
---------- -------------------------
1 Europe
2 Americas
3 Asia
4 Middle East and Africa
5 Africa
5 rows selected.
트랜잭션 커밋:
COMMIT;
결과:
Commit complete.
참조: COMMIT 문에 대한 자세한 내용은 Oracle Database SQL Language Reference