MS SQL Server Eğitimleri 34 – T-SQL Update İşlemi

MS SQL eğitimlerimize SQL’in önemli konularından UPDATE işlemi ile devam ediyoruz.

Veri tabanındaki kayıtların güncelleme işlemleri UPDATE ifadesi ile yapılır.

Mesela şöyle bir senaryo düşünelim. Bir iş yerinde IK da çalışıyorsunuz personellerinizin bilgilerini tutuyorsunuz kullandığınız ERP üzerinde.  Yılbaşında Çalışanlarınız belli bir miktar maaşlarına zam aldılar. Sisteminizde tuttuğunuz maaş bilgileri de var. Böyle bir durumda herkesi yeninden oluşturup yeni maaşlarını girmek mi daha mantıklık yoksa var olan maaş bilgisini yenisi ile güncellemek mi? İşte bu tür veri güncelleme işlemlerini yapmamıza yardımcı olacaktır.

UPDATE Kullanımı

Şimdi birde sözle ifade edelim.

Öncelikle UPDATE diyoruz. Daha sonra hangi tablo üzerinde değişiklik yapacaksak o tablonun ismini yazıyoruz.

Daha sonra SET yani Türkçe ifadesi ile ayarla diyoruz. 

Ve hangi kolonların yeni değerleri ne olacaksa onları aralarında virgül koyarak giriyoruz.

En sonda bu update işleminin hangi şartlarda çalışması gerektiğini söylediğimiz Where ifadelerini kullanıyoruz. Select ifadesi ile kullandığımız tüm Where durumları burada da kullanılabilir.

Dikkat: Where ile herhangi bir şart yazmadan bir Update işlemi gerçekleştirirseniz. tablodaki tüm kayıtlar üzerinde yapmaya çalıştığınız Update işlemini gerçekleştirir.

Bu kadar kelam yeter. Şimdi canlı örneklerimizle olayı anlamaya çalışalım.

XENONBOX veritabanı üzerinde CUSTOMER tablosunda öncelikle bir SELECT atıp verilerimize bir bakalım.

1 Maria Anders Berlin Germany 030-0074321
2 Ana Trujillo México D.F. Mexico (5) 555-4729
3 Antonio Moreno México D.F. Mexico (5) 555-3932
4 Thomas Hardy London UK (171) 555-7788
5 Christina Berglund Luleå Sweden 0921-12 34 65
6 Hanna Moos Mannheim Germany 0621-08460
7 Frédérique Citeaux Strasbourg France 88.60.15.31
8 Martín Sommer Madrid Spain (91) 555 22 82
9 Laurence Lebihan Marseille France 91.24.45.40
10 Elizabeth Lincoln Tsawassen Canada (604) 555-4729
11 Victoria Ashworth London UK (171) 555-1212
12 Patricio Simpson Buenos Aires Argentina (1) 135-5555
13 Francisco Chang México D.F. Mexico (5) 555-3392
14 Yang Wang Bern Switzerland 0452-076545
15 Pedro Afonso Sao Paulo Brazil (11) 555-7647
16 Elizabeth Brown London UK (171) 555-2282
17 Sven Ottlieb Aachen Germany 0241-039123
18 Janine Labrune Nantes France 40.67.88.88
19 Ann Devon London UK (171) 555-0297
20 Roland Mendel Graz Austria 7675-3425

Maria Anders’in şehri yanlış girilmiş olsun. Aslında Maria hanım Berlin’de değil Münih’de yaşıyor. O zaman CITY kolonunda böyle bir güncelleme yapmamız gerek.

Ama Maria’yı kesin net bildirmemiz gerek ki gidip başkalarının şehirlerini de Münih yapmasın.

Telefon numarasından kişiyi yakalamaya çalıştım çünkü bir telefon numarası birden fazla kişiye verilemez. Delete ve Update işlemlerinde birincil anahtar üzerinden ya da oluşturulmuş indexler üzerinden giderseniz verilerinizin güvenliği sağlamış olursunuz bu önemlidir.

Siz bu işlemi başarılı bir şekilde yaptıysanız SQL üzerinden şöyle bir uyarı alacaksınız.

 

Bir kaydın bu işlemden etkilendiğini size bildiriyor. İşlem başarılı bir şekilde gerçekleşti mi şimdi bir SELECT atarak bunu görelim.

İstediğimiz işlemin başarılı bir şekilde gerçekleştiğini gördük.

Bir örnek olması için Where şartını ortadan kaldırırsam ne olura bir bakalım.

1 Maria Anders Münih Germany 030-0074321
2 Ana Trujillo Münih Mexico (5) 555-4729
3 Antonio Moreno Münih Mexico (5) 555-3932
4 Thomas Hardy Münih UK (171) 555-7788
5 Christina Berglund Münih Sweden 0921-12 34 65
6 Hanna Moos Münih Germany 0621-08460
7 Frédérique Citeaux Münih France 88.60.15.31
8 Martín Sommer Münih Spain (91) 555 22 82
9 Laurence Lebihan Münih France 91.24.45.40
10 Elizabeth Lincoln Münih Canada (604) 555-4729
11 Victoria Ashworth Münih UK (171) 555-1212

Artık herkesin şehri Münih. Bu işlemi geri almak eski durumuna getirmek eğer elinizde yakın zamanda alınmış bir BACKUP dosyanız yok ise ne kadar zor ve meşakkatli anlayabiliyorsunuzdur. O yüzden bu tür işlemleri yaparken azami dikkat diyoruz.

Bu dersimizde bu kadardı. 

Bir sonraki yazımda görüşmek üzere.

Facebook Sayfamizdan Bizleri Takip Edebilirsiniz
Murat Bilginer

Industryolog Akademi Founder – Endüstri Mühendisi
Canias ERP Troia Geliştiricisi & Yazılım Uzmanı
7 Yıldır bildiğini paylaşmak için çabalayan bir blogger.

http://muratbilginer.net/