Vb Sql Aynı Kayıt Engelleme

VB SQL Aynı Kayıt Engelleme

Veritabanı sistemlerinde, aynı kaydın birden fazla kullanıcı tarafından aynı anda değiştirilmesini önlemek için aynı kayıt engelleme mekanizmaları kullanılır. Bu, veri bütünlüğünü ve tutarlılığını korumak için hayati önem taşır. VB SQL’de, aynı kayıt engelleme, LOCK ifadesi kullanılarak uygulanır.

LOCK İfadesi

LOCK ifadesi, belirli bir tablodaki veya tablo görünümündeki bir veya daha fazla satırı kilitler. Bu, diğer kullanıcıların kilitli satırları değiştirmesini veya silmesini engeller. LOCK ifadesinin genel sözdizimi şu şekildedir:

vb
LOCK [TABLE | VIEW] [table_name] [FOR] [lock_type] [OF] [column_list]

Burada:

  • table_name: Kilitlenecek tablo veya tablo görünümünün adıdır.
  • lock_type: Uygulanacak kilit türüdür.
  • column_list: Kilitlenecek sütunların bir listesidir (isteğe bağlı).

Kilit Türleri

VB SQL, aşağıdaki kilit türlerini destekler:

  • SHARED (Paylaşılan): Diğer kullanıcıların satırları okumasına izin verir, ancak değiştirmesine veya silmesine izin vermez.
  • EXCLUSIVE (Özel): Diğer kullanıcıların satırları okumasına, değiştirmesine veya silmesine izin vermez.
  • UPDATE (Güncelleme): Diğer kullanıcıların satırları okumasına izin verir, ancak yalnızca kilitleyen kullanıcı satırları değiştirebilir veya silebilir.

Aynı Kayıt Engelleme Örneği

Aşağıdaki VB SQL kodu, Customers tablosundaki belirli bir müşteri kaydını özel olarak kilitler:

vb
Dim cmd As New SqlCommand("LOCK Customers FOR UPDATE OF CustomerID", conn)
cmd.Parameters.AddWithValue("@CustomerID", 1)
cmd.ExecuteNonQuery()

Bu kod çalıştırıldıktan sonra, başka hiçbir kullanıcı CustomerID değeri 1 olan müşteri kaydını değiştiremez veya silemez.

Önemli Hususlar

  • LOCK ifadesi, bir işlemin başında kullanılmalıdır.
  • Bir satır kilitlendikten sonra, satır serbest bırakılıncaya kadar kilitli kalır.
  • Bir satır kilitliyse ve başka bir kullanıcı aynı satırı kilitleymeye çalışırsa, bir kilitlenme hatası oluşur.
  • Aynı kayıt engelleme, çok kullanıcılı ortamlarda veri bütünlüğünü korumak için çok önemlidir.

Faydalı Kaynaklar


Yayımlandı