BaşlayınÜcretsiz başlayın

READ UNCOMMITTED izolasyon seviyesini kullanma

Bankana yeni bir müşteri hesap açmak için geliyor. Verilerini sisteme giriyorsun ve aşağıdakine benzer bir betik çalışmaya başlıyor:

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

Tam o sırada, pazarlama ekibinden arkadaşın tüm müşterilere e-posta göndermeye başlıyor. Bir araba çekilişi var! Çalıştırdığı betik, senin az önce eklediğin son müşteri dahil, tüm müşterilerin verilerini çekiyor. Bu betik, ilk INSERT gerçekleştikten sonra ama COMMIT TRAN'den önce çalışmaya başlıyor.

Bu nasıl mümkün olabilir?

Bu egzersiz, kursun bir parçasıdır

SQL Server'da İşlemler ve Hata Yönetimi

Kursa Göz Atın

Egzersiz talimatları

  • READ UNCOMMITTED izolasyon seviyesini ayarla.
  • customers tablosundan first_name, last_name, email ve phone alanlarını seç.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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

	-- Select first_name, last_name, email and phone
	SELECT
    	___, 
        ___, 
        ___,
        ___
    FROM customers;
Kodu Düzenle ve Çalıştır