1. Nauka
  2. /
  3. Kursy
  4. /
  5. Transakcje i obsługa błędów w SQL Server

Connected

ćwiczenie

Używanie poziomu izolacji READ UNCOMMITTED

Do twojego banku przychodzi nowy klient, aby otworzyć konto. Wprowadzasz jego dane do systemu, co uruchamia skrypt podobny do poniższego:

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

W tym samym czasie twój kolega z działu marketingu zaczyna wysyłać e-maile do wszystkich klientów. Szykuje się losowanie samochodu! Uruchamiany przez niego skrypt pobiera dane każdego klienta – w tym dane klienta, którego właśnie dodajesz. Skrypt ten startuje po wykonaniu pierwszego INSERT, ale jeszcze przed instrukcją COMMIT TRAN.

Jak to możliwe?

Instrukcje

100 XP
  • Ustaw poziom izolacji READ UNCOMMITTED.
  • Wybierz kolumny first_name, last_name, email i phone z tabeli customers.