제30장 DBMS_TRANSACTION

내용 목차

30.1. 개요
30.2. 프러시저
30.2.1. COMMIT
30.2.2. ROLLBACK, ROLLBACK_SAVEPOINT
30.2.3. SAVEPOINT

본 장에서는 DBMS_TRANSACTION 패키지의 기본 개념과 패키지 내의 프러시저를 사용하는 방법을 설명한다.

30.1. 개요

DBMS_TRANSACTIONtbPSM 프로그램 내에서 트랜잭션을 관리하는 SQL 문장을 실행하는 패키지이다.

참고

트랜잭션을 관리하는 SQL 문장에 대한 자세한 내용은 "Tibero SQL 참조 안내서"를 참고한다.

30.2. 프러시저

본 절에서는 DBMS_TRANSACTION 패키지에서 제공하는 프러시저를 알파벳 순으로 설명한다.

30.2.1. COMMIT

현재 트랜잭션을 커밋하는 프러시저이다.

COMMIT 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    DBMS_TRANSACTION.COMMIT;
  • 예제

    BEGIN
        DBMS_TRANSACTION.COMMIT;
    END;

30.2.2. ROLLBACK, ROLLBACK_SAVEPOINT

현재 진행 중인 트랜잭션 전체를 롤백하거나 일부 저장점(savepoint)까지 롤백을 수행하는 프러시저이다.

ROLLBACK, ROLLBACK_SAVEPOINT 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    • 트랜잭션 전체를 롤백하는 경우

      DBMS_TRANSACTION.ROLLBACK;
    • 저장점까지 롤백하는 경우

      DBMS_TRANSACTION.ROLLBACK_SAVEPOINT
      (
          savepoint       IN VARCHAR
      );
  • 파라미터

    파라미터설명
    savepoint저장점의 이름이다.
  • 예제

    BEGIN
        INSERT INTO EMP VALUES (1, 'chulsoo');
        DBMS_TRANSACTION.ROLLBACK;
    END;

30.2.3. SAVEPOINT

현재 트랜잭션 내에 새로운 저장점을 설정하는 프러시저이다.

SAVEPOINT 프러시저의 세부 내용은 다음과 같다.

  • 프로토타입

    DBMS_TRANSACTION.SAVEPOINT
    (
        savepoint     IN VARCHAR
    );
  • 파라미터

    파라미터설명
    savepoint설정할 저장점의 이름이다.
  • 예제

    BEGIN
        DBMS_TRANSACTION.SAVEPOINT('sp1');
        INSERT INTO EMP VALUES (2, 'younghee');
        DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('sp1');
    END;