주문 헤더 생성
INSERT INTO orders
status = 'PAID'
status = 'PAID'
누가 언제 얼마짜리 주문을 만들었는지 공통 정보를 기록합니다.
주문 헤더만 있고 재고가 줄지 않거나, 재고만 줄고 주문이 없는 상태를 막기 위해 하나의 트랜잭션으로 묶습니다.
누가 언제 얼마짜리 주문을 만들었는지 공통 정보를 기록합니다.
상품별 수량과 주문 당시 단가를 별도 행으로 남깁니다.
재고가 충분할 때만 차감되도록 WHERE 조건에 재고 검사를 넣습니다.
주문, 상세, 재고가 모두 일관된 상태이므로 COMMIT으로 확정합니다.
재고 부족이나 제약 위반이므로 ROLLBACK으로 주문 생성까지 취소합니다.