여러 변경을 하나의 논리적 작업 단위로 묶는다.
아직 해당 트랜잭션 안에서 확정 전인 변경이 쌓인다.
일부 작업만 되돌릴 수 있도록 이름 붙은 지점을 만든다.
성공하면 COMMIT, 실패하면 ROLLBACK을 선택한다.
여러 DML 작업을 하나의 작업 단위로 묶고, 성공하면 COMMIT으로 확정하고 실패하면 ROLLBACK으로 되돌립니다. SAVEPOINT는 전체 취소 대신 특정 지점까지만 되돌릴 때 쓰입니다.
여러 변경을 하나의 논리적 작업 단위로 묶는다.
아직 해당 트랜잭션 안에서 확정 전인 변경이 쌓인다.
일부 작업만 되돌릴 수 있도록 이름 붙은 지점을 만든다.
성공하면 COMMIT, 실패하면 ROLLBACK을 선택한다.
커밋된 변경은 장애 복구 시에도 유지되어야 하는 결과가 된다.
BEGIN;
UPDATE accounts SET balance = balance - 10000 WHERE id = 1;
UPDATE accounts SET balance = balance + 10000 WHERE id = 2;
COMMIT;
전체 취소가 필요하면 ROLLBACK, 일부 복귀가 필요하면 저장점을 사용한다.
BEGIN;
SAVEPOINT before_price;
UPDATE products SET price = price * 1.1;
ROLLBACK TO SAVEPOINT before_price;
COMMIT;
입금과 출금처럼 쪼개지면 안 되는 작업을 하나로 묶는다.
BEGIN 이름, 자동 커밋, DDL 처리 방식은 제품별 차이를 확인해야 한다.
오류가 생겼을 때 일관성이 깨진 상태가 확정되지 않도록 막는다.