실행결과
emp_tran1 테이블 조회
먼저 START TRANSACTION 문을 사용해 명시적으로 트랜잭션을 선언합니다. 그리고 SAVEPOINT A를 실행해 트랜잭션 안에 A 지점을 설정합니다. 그다음 emp_tran1 테이블에서 salary 칼럼 값이 NULL인 건을 삭제합니다. 다시 SAVEPOINT B를 실행해 B 지점을 설정한 뒤, ORDER BY와 LIMIT 절로 2건의 맥스웰 사원 데이터 중에서 나중에 입력된 건을 삭제합니다. 그런 뒤에 ROLLBACK TO SAVEPOINT B 문장을 실행하는데, 이는 B 지점 이후로 실행한 DML 문장의 처리를 ROLLBACK, 즉 취소하라는 의미입니다. 따라서 두 번째 DELETE 문으로 삭제된 작업이 취소됩니다. ROLLBACK TO SAVEPOINT 문은 현재 트랜잭션을 종료하지 않습니다. 따라서 삭제한 맥스웰 건이 삭제되기 전 상태로 되돌아가고, 마지막으로 COMMIT 문을 실행해 해당 트랜잭션을 끝냅니다.