Začněte nyníZačněte zdarma

Použití úrovně izolace READ UNCOMMITTED

Do banky přichází nový klient, aby si otevřel účet. Vložíš jeho data do systému, čímž se spustí skript podobný tomuto:

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

Ve stejnou chvíli začne tvůj kolega z marketingu rozesílat e-maily všem zákazníkům. Chystá se totiž tombola o auto! Skript, který spustí, načte data všech zákazníků – včetně toho posledního, kterého jsi právě vložil. Tento skript se začne spouštět po prvním vložení záznamu, ale ještě před COMMIT TRAN.

Jak je to možné?

Toto cvičení je součástí kurzu

Transakce a zpracování chyb v SQL Serveru

Zobrazit kurz

Pokyny k cvičení

  • Nastav úroveň izolace READ UNCOMMITTED.
  • Vyber sloupce first_name, last_name, email a phone z tabulky customers.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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

	-- Select first_name, last_name, email and phone
	SELECT
    	___, 
        ___, 
        ___,
        ___
    FROM customers;
Upravit a spustit kód