트랜잭션 실습
주문 생성과 재고 차감은 함께 성공해야 한다
orders, order_items, products를 하나의 원자적 단위로 묶고, 재고 차감이 0행이면 전체를 취소한다.
실패 기준 재고 부족, 주문 상세 누락, 총액 불일치 확인 전 COMMIT 금지
orders 주문 헤더와 상태를 만든다 order_id가 상세와 재고 처리 기준이 됨
order_items 상품, 수량, 단가를 기록한다 주문 총액 대조에 사용
products stock을 조건부로 차감한다 영향 행 수 1개가 핵심 신호
단계 성공 신호 실패 처리
주문 생성 orders INSERT 성공, 주문 키 확보 이후 작업 없이 ROLLBACK
상세 기록 order_items 행 수와 금액 일치 주문 헤더까지 취소
재고 차감 stock >= 수량 조건으로 1행 UPDATE 0행이면 재고 부족으로 ROLLBACK
조건부 UPDATEstock >= quantity 조건으로 음수 방지
영향 행 수드라이버가 반환한 row count 확인
최종 대조주문 총액, 상세 합계, 재고 수량 점검