트랜잭션
특정 테이블에서 데이터를 읽어 조작 후 다른 테이블에 입력하거나 갱신, 삭제하는데 처리 도중 오류가 발생하면 모든 작업을 원상태로 되돌리고, 처리과정이 모두 성공했을 때만 최종적으로 데이터베이스에 반영하는 것
COMMIT
데이터의 처리내역을 최종적으로 반영시키는 것
1 | COMMIT [WORK]; | cs |
ROLLBACK
데이터베이스에 가해진 변경사항을 취소시킨다.
1 | ROLLBACK [WORK] [TO [SAVEPOINT] 세이브포인트명]; | cs |
COMMIT은 작업이 성공했을 때, ROLLBACK은 작업이 실패했을 때 처리하므로 일반적으로 PL/SQL 코드를 작성할 때 디폴트로 실행부 맨 하단에 COMMIT을 명시한다. 반면, ROLLBACK은 예외처리와 함께 사용됭 특정 예외가 발생했을 때 예외처리 구문에 ROLLBACK을 명시한다.
SAVEPOINT
보통 ROLLBACK을 명시하면 작업 전체가 취소되는데, 전체가 아닌 특정 부분에서 트랜잭션을 취소시킬 수 있다.
취소하려는 지점을 명시하고 그 지점까지 작업을 취소하는 형태로 사용하는데, 이 지점을 SAVEPOINT라고 한다.
1 | SAVEPOINT 세이브포인트명; | cs |
반응형
'📃 DATABASE > ORACLE' 카테고리의 다른 글
[PL/SQL] 커서(CURSOR) (2) : 커서와 FOR문 (0) | 2018.02.01 |
---|---|
[PL/SQL] 커서(CURSOR) (1) : 명시적 커서와 묵시적 커서 (4) | 2018.02.01 |
[PL/SQL] 예외처리(3) : 효율적인 예외처리 (2) | 2018.01.26 |
[PL/SQL] 예외처리(2) : 시스템 예외와 사용자정의 예외 (0) | 2018.01.25 |
[PL/SQL] 예외처리 (1) : 예외처리란? (0) | 2018.01.24 |