SAVEPOINT 문의 작동 방식을 예제로 알아보죠.
코드 10-37
START TRANSACTION;
-- savepoint A 설정
SAVEPOINT A;
-- 삭제1
DELETE FROM emp_tran1
WHERE salary IS NULL;
-- savepoint B 설정
SAVEPOINT B;
-- 삭제2
DELETE FROM emp_tran1
WHERE emp_name = '맥스웰'
ORDER BY emp_no
LIMIT 1;
-- savepoint B 이후 작업 취소
ROLLBACK TO SAVEPOINT B;
-- 반영
COMMIT;
SELECT *
FROM emp_tran1;