Zacznij terazZacznij za darmo

Zapobieganie odczytom fantomowym tylko dla wybranych wierszy

Chcesz przeanalizować dane klientów banku, których customer_id mieści się w zakresie od 1 do 10. Zależy ci na zablokowaniu wyłącznie tych wierszy tabeli customers, których customer_id należy do tego zakresu. Dzięki temu masz pewność, że nikt nie zmieni tych wierszy, a pozostała część tabeli będzie dostępna dla innych transakcji.

Należy wybrać tych klientów i ponownie wykonać pewne operacje matematyczne. (Nie będziemy się skupiać na tych operacjach w tym ćwiczeniu.) Następnie ponownie pobierz klientów z customer_id w zakresie od 1 do 10, aby upewnić się, że nic się nie zmieniło.

Jak przygotować taki skrypt?

To ćwiczenie jest częścią kursu

Transakcje i obsługa błędów w SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw odpowiedni poziom izolacji, aby zapobiec odczytom fantomowym.
  • Rozpocznij transakcję.
  • Wybierz klientów, których chcesz zablokować.
  • Zatwierdź transakcję.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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
___ ___
Edytuj i uruchom kod