시작하기무료로 시작하기

READ UNCOMMITTED 격리 수준 사용하기

한 명의 신규 고객이 은행을 방문해 계좌를 개설해요. 시스템에 고객 정보를 입력하면 다음과 같은 스크립트가 실행되기 시작합니다:

BEGIN TRAN

  INSERT INTO customers (first_name, last_name, email, phone)
  VALUES ('Ann', 'Ros', '[email protected]', '555555555')

  DECLARE @cust_id INT = scope_identity()

  INSERT INTO accounts (account_number, customer_id, current_balance)
  VALUES ('55555555555010121212', @cust_id, 150)

COMMIT TRAN

바로 그때, 마케팅 동료가 모든 고객에게 이메일을 보내기 시작해요. 자동차 경품 추첨이 있을 예정이거든요! 그가 실행하는 스크립트는 방금 입력한 마지막 고객을 포함해 모든 고객의 데이터를 가져옵니다. 이 스크립트는 첫 번째 INSERT가 발생한 이후이지만 COMMIT TRAN 전에 실행되기 시작합니다.

어떻게 이런 일이 가능할까요?

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

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

강의 보기

연습 안내

  • READ UNCOMMITTED 격리 수준을 설정하세요.
  • customers 테이블에서 first_name, last_name, email, phone을 선택하세요.

실습형 인터랙티브 연습

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

-- Set the appropriate isolation level
___ TRANSACTION ___ LEVEL ___ ___

	-- Select first_name, last_name, email and phone
	SELECT
    	___, 
        ___, 
        ___,
        ___
    FROM customers;
코드 편집 및 실행