Sadece bazı satırlarda hayalet okumaları önle
customer_id değeri 1 ile 10 arasında olan banka müşterilerinle ilgili bazı verileri analiz etmen gerekiyor. customers tablosunda sadece customer_id değeri 1 ile 10 arasında olan satırları kilitlemek istiyorsun. Böylece bu satırları kimse değiştiremeyecek ve diğer işlemler tablonun kalanıyla çalışmaya devam edebilecek.
Müşterileri seçip bazı matematiksel işlemleri yine çalıştırman gerekiyor. (Bu egzersizde bu işlemlere odaklanmayacağız.) Sonrasında, hiçbir şeyin değişmediğinden emin olmak için customer_id değeri 1 ile 10 arasında olan müşterileri tekrar seçmek istiyorsun.
Betiği nasıl hazırlayabilirsin?
Bu egzersiz
SQL Server'da İşlemler ve Hata Yönetimi
kursunun bir parçasıdırEgzersiz talimatları
- Hayalet okumaları önlemek için uygun yalıtım (isolation) seviyesini ayarla.
- Bir işlem (transaction) başlat.
- Kilitlemek istediğin müşterileri seç.
- İşlemi COMMIT et.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
-- 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
___ ___