더북(TheBook)

실행결과

 

emp_tran1 테이블 조회

코드를 보면 먼저 START TRANSACTION 문으로 트랜잭션을 선언합니다. 그런 다음 emp_tran1 테이블에서 사번이 1006보다 큰 건을 삭제하고, salary 값이 NULL인 건을 0으로 수정합니다. 두 DML 문장을 수행하면 emp_tran1 테이블에는 사번이 1001~1005인 5건이 남고, 이 중에서 salary 값이 NULL인 2건의 salary 칼럼 값은 0으로 변경됩니다. 하지만 마지막에 ROLLBACK 문을 실행해 두 문장이 수행한 작업을 취소합니다.

결과를 보면 테이블이 DELETEUPDATE 문을 실행하기 이전 상태임을 알 수 있습니다. 만약 START TRANSACTION 문으로 트랜잭션을 명시적으로 선언하지 않았다면 자동커밋 때문에 ROLLBACK과 상관없이 DELETE, UPDATE 문을 실행한 결과가 반영됐을 겁니다.

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