Diyelim ki bir masa var ve bir satır eklemek istiyorum. Yeni satırın anahtarı zaten mevcut satırın anahtarını masadakiyle eşleştirebilir, bu durumda mevcut satırı güncellemek istiyorum. Ya da, tabloda mevcut olmayabilir, bu durumda, yeni satır eklenmelidir.T-SQL Tek bir hızlı işlemle bir Güncelleme/Ekleme yapmak mümkün mü
Böyle bir işlemi gerçekleştirmenin en etkili yolu nedir? Öncelikle SELECT
(belki de EXISTS
ile) özel bir anahtarın mevcut olup olmadığını, ardından UPDATE
ve varsa INSERT
'u takip ettiğini düşünüyordum. Aynı zamanda, yarış koşullarından kaçınmak için bu ifadeler kombinasyonu için bir UPDLOCK
ve bir HOLDLOCK
tutmanız gerekecektir. Bu aşırı karmaşık ve verimsiz görünüyor.
SQL Server 2008R2'de bunu yapmanın daha verimli bir yolu olup olmadığını merak ediyordum.
Çok iyi cevap, +1 ve kabul et ... –