SQLD 기출문제 예상문제 226번
다음 문제를 풀어보세요.
위 시나리오가 모두 완료된 후, PRODUCTS 테이블의 'P001' 상품에 대한 최종 STOCK_QUANTITY 값으로 가장 적절한 것을 고르시오.
[테이블 구조]
CREATE TABLE PRODUCTS (
PRODUCT_ID VARCHAR2(10) PRIMARY KEY,
PRODUCT_NAME VARCHAR2(100),
STOCK_QUANTITY NUMBER
);
[초기 데이터]
PRODUCTS 테이블의 초기 데이터는 다음과 같습니다.
PRODUCT_ID | PRODUCT_NAME | STOCK_QUANTITY
-----------|--------------|---------------
P001 | Laptop | 100
[트랜잭션 시나리오]
두 명의 사용자(User A, User B)가 동시에 PRODUCTS 테이블의 'P001' 상품 재고를 업데이트하는 시나리오입니다.
- User A가 트랜잭션을 시작합니다.
- User A가 다음 SQL을 실행합니다.
UPDATE PRODUCTS SET STOCK_QUANTITY = STOCK_QUANTITY - 10 WHERE PRODUCT_ID = 'P001';
- User B가 트랜잭션을 시작합니다.
- User B가 다음 SQL을 실행합니다.
UPDATE PRODUCTS SET STOCK_QUANTITY = STOCK_QUANTITY - 5 WHERE PRODUCT_ID = 'P001';
- User A가 COMMIT을 실행합니다.
- User B가 ROLLBACK을 실행합니다.