ÎncepețiÎncepe gratuit

Utilizarea nivelului de izolare READ UNCOMMITTED

Un client nou vine la banca ta pentru a deschide un cont. Introduci datele sale în sistem, declanșând rularea unui script similar cu acesta:

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

În acel moment, colegul tău din marketing începe să trimită e-mailuri tuturor clienților. Se organizează o tombolă pentru un autoturism! Scriptul pe care îl execută el preia datele tuturor clienților, inclusiv ale ultimului client pe care l-ai inserat. Acest script începe să ruleze după primul INSERT, dar înainte de COMMIT TRAN.

Cum este posibil acest lucru?

Acest exercițiu face parte din cursul

Tranzacții și gestionarea erorilor în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează nivelul de izolare READ UNCOMMITTED.
  • Selectează first_name, last_name, email și phone din tabela customers.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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

	-- Select first_name, last_name, email and phone
	SELECT
    	___, 
        ___, 
        ___,
        ___
    FROM customers;
Editează și rulează codul