시작하기무료로 시작하기

일부 행에서만 팬텀 읽기 방지하기

customer_id가 1에서 10 사이인 은행 고객 데이터를 분석해야 해요. customers 테이블에서도 customer_id가 1부터 10까지인 행만 잠그고 싶어요. 이렇게 하면 이 행들은 아무도 수정할 수 없게 보장하면서, 다른 트랜잭션은 테이블의 나머지 부분을 계속 사용할 수 있어요.

고객을 조회한 뒤 몇 가지 수학 연산을 다시 수행해야 해요. (이 연습 문제에서는 해당 연산 자체는 다루지 않아요.) 그다음, 변경 사항이 없음을 확인하기 위해 customer_id가 1에서 10 사이인 고객을 다시 조회하려고 해요.

이 스크립트를 어떻게 준비하면 될까요?

이 연습은 강의의 일부입니다

SQL Server에서의 트랜잭션과 오류 처리

강의 보기

연습 안내

  • 팬텀 읽기를 방지할 수 있는 적절한 격리 수준을 설정하세요.
  • 트랜잭션을 시작하세요.
  • 잠그려는 고객 행을 조회하세요.
  • 트랜잭션을 커밋하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

-- Set the appropriate isolation level
___ ___ ___ ___ ___

-- Begin a transaction
___ ___

-- Select customer_id between 1 and 10
SELECT * 
FROM customers
___ customer_id ___ ___ AND ___;

-- After completing some mathematical operation, select customer_id between 1 and 10
SELECT * 
FROM customers
___ customer_id ___ ___ AND ___;

-- Commit the transaction
___ ___
코드 편집 및 실행