더북(TheBook)

10.4.3 자동커밋 비활성화 상태에서 트랜잭션 처리하기

자동커밋을 비활성화한 상태에서 트랜잭션 처리하는 방법을 알아보겠습니다. 먼저 트랜잭션 처리가 됐는지 확인하기 위한 샘플 테이블을 만듭니다.

코드 10-32

CREATE TABLE emp_tran1 AS
SELECT *
  FROM emp_test;

ALTER TABLE emp_tran1
  ADD CONSTRAINT PRIMARY KEY (emp_no);

CREATE TABLE emp_tran2 AS
SELECT *
  FROM emp_test;
ALTER TABLE emp_tran2
  ADD CONSTRAINT PRIMARY KEY (emp_no);

실행결과

emp_test 테이블을 복제해 emp_tran1, emp_tran2 테이블을 생성했습니다. CREATE TABLE AS 구문을 사용하면 데이터까지 복제할 수 있는데, 자동커밋이 비활성화 상태더라도 이 문장은 DDL에 속해서 COMMIT이나 ROLLBACK 문을 사용할 필요가 없습니다. 트랜잭션 처리는 DML인 INSERT, UPDATE, DELETE 문에만 적용됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.