SQL Server – UPDATE ile Kayıt Güncelleme

MSSQL’de tabloda var olan kayıtlar üzerinde güncelleme veya değişiklik yapmak için UPDATE komutu kullanılır. UPDATE komutu ile çalışabilmek için daha öncesinde böyle bir tablomuzun oluşturulmuş olması gerekir.

UPDATE komutundan sonra hangi tablo ile çalışılacaksa o tablonun adı yazılır.  SET ifadesinden sonra ise tablomuz üzerinde yapılacak değişiklik, WHERE  ifadesinden sonra ise güncelleme (değişiklik) hangi kayıtlar üzerinde yapılacaksa onun şartı yazılır.  Kullanım şekli aşağıdaki gibidir.

WHERE ifadesi UPDATE komutu kullanılırken verileriniz için hayati öneme sahiptir. Herhangi bir şart belirtilmemesi durumunda yani WHERE ifadesi yazılmadığında tüm kayıtlarınız etkilenir. Eğer Transaction başlatılmadıysa hatanızı telafi etmenin tek yolu varsa veritabanı yedeklerinize başvurmaktır.

Aynı anda birden çok alanda güncelleme işlemi (çoklu alan güncellemesi) gerçekleştirilecek ise SET ifadesinden sonra yapılacak işlemler aralarına virgüller koyularak yapılır.

Örneğin, işe başlama tarihi boş olan personellerin işe başlama tarihini bugünün tarihi olarak güncelleyin işleminde işe başlama tarihine bugünün tarihini aktarma işlemi SET ifadesinden sonra, işe başlama tarihi boş olan kayıtların kontrolü WHERE ifadesinden sonra yazılır.

Yukarıdaki personel tablosunda personel numarası, adı ve soyadı alanları boş değer alamazken, işe başlama tarihi alanı boş değer alabilmektedir.

INSERT komutu ile veri ekleme işlemleri kodla gerçekleştirilebileceği gibi hızlı uygulama yapmak için kayıt girişlerinde SQL SERVER arayüzü de kullanılabilir. Kayıt girilecek tabloya sağ tıklanır ve Edit Top 200 Rows seçilir.

Personel tablomuzda SELECT komutu kullanılarak içeriği listelendi ve 2 adet kaydın boş değer (NULL) içerdiği görülmektedir. İşe başlama tarihinin boş olmasını ifade etmek için NULL kavramı kullanılır.

Bugünün tarihini ’27.11.2017’ kabul edersek güncelleme işlemini aşağıdaki gibi yapabiliriz.

Ancak bu şekilde kullandığımızda çok profesyonel bir kullanım olmayacaktır. Bugünün tarihini elde etmek için GETDATE() fonksiyonu kullanılabilir. GETDATE() sistemden o günün tarihini almaktadır.

MSSQL Update Örnekleri

  1. 2015 yılından sonra işe başlayan personellerin maaşını 2000 TL, prim alanını 100 TL olarak güncelleyin.
  2. 2500 TL’den fazla maaş ve 200TL’den az prim alan personellerin primini 50TL arttırın.
  3. İşe başlama tarihi 2015 öncesi veya primi 300 TL’nin altında olanların maaşına 50 TL zam yapın.

About Seçil ŞEKERCİ HÜSEM

2010 yılından bu yana Bilişim Teknolojileri Öğretmeni olarak meslek liselerinde görev yapmaktayım.

View all posts by Seçil ŞEKERCİ HÜSEM →

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.