1HOON
논리적 코딩
1HOON
전체 방문자
오늘
어제
  • HOME (187)
    • ☕️ JAVA (28)
      • WhiteShip Java LIVE Study (6)
      • Effective JAVA (10)
    • 🔮 KOTLIN (4)
    • 🌱 SPRING (51)
      • 스프링 인 액션 (22)
      • JPA (18)
    • ☕️ JAVASCRIPT (6)
    • 📃 DATABASE (40)
      • ORACLE (37)
      • MSSQL (2)
    • 🐧 LINUX (4)
    • 🐳 DOCKER (5)
    • 🐙 KUBERNETES (4)
    • 🏗️ ARCHITECTURE (8)
    • 📦 ETC (27)
      • TOY PROJECT (5)
      • RECRUIT (1)
      • 그냥 쓰고 싶어서요 (14)
      • TIL (1)
    • 🤿 DEEP DIVE (1)
    • 🚽 Deprecated (9)
      • PYTHON (3)
      • AWS (2)
      • HTTP 완벽가이드 (3)
      • WEB (1)

블로그 메뉴

  • 홈
  • 방명록
  • 관리

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
1HOON

논리적 코딩

📃 DATABASE/ORACLE

[PL/SQL] 트랜잭션

2018. 1. 29. 15:01

트랜잭션

특정 테이블에서 데이터를 읽어 조작 후 다른 테이블에 입력하거나 갱신, 삭제하는데 처리 도중 오류가 발생하면 모든 작업을 원상태로 되돌리고, 처리과정이 모두 성공했을 때만 최종적으로 데이터베이스에 반영하는 것


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) : 효율적인 예외처리  (3) 2018.01.26
[PL/SQL] 예외처리(2) : 시스템 예외와 사용자정의 예외  (0) 2018.01.25
[PL/SQL] 예외처리 (1) : 예외처리란?  (0) 2018.01.24
    '📃 DATABASE/ORACLE' 카테고리의 다른 글
    • [PL/SQL] 커서(CURSOR) (2) : 커서와 FOR문
    • [PL/SQL] 커서(CURSOR) (1) : 명시적 커서와 묵시적 커서
    • [PL/SQL] 예외처리(3) : 효율적인 예외처리
    • [PL/SQL] 예외처리(2) : 시스템 예외와 사용자정의 예외
    1HOON
    1HOON

    티스토리툴바