18 Haziran 2014 Çarşamba

SQL Paket Taşıma Yöneticisi: Etkilenecek kayıt sayısı?



Merhaba!

SQL Paket Taşıma Yöneticisi uygulamasına beğeneceğinizi düşündüğüm bir özellik eklendi. Zaman zaman DELETE ve UPDATE gibi komutların çalıştırılması gerekiyor. Eğer bu komutu yazan siz değilseniz ve sadece çalıştırmanız gerekiyorsa, o zaman bu komutlar ile kaç tane kaydın etkileneceğini bilmeniz gerekir, ki buna göre bu komutu o anda çalıştırmanın uzun süreli Blocking'lere neden olmayacağından emin olasınız. Çoğu zaman da bu komutu çalıştırmanızı isteyen arkadaşlar, kaç kaydın etkileneceğini size söylemezler. Bu UPDATE ve DELETE komutlarını elle SELECT'lere çevirmek zorunda kalırsınız, aynı WHERE kriterlerini kullanarak kaç tane kaydın etkileneceğini görürsünüz. Örneğin:

Komutu yazan kişinin gönderdiği komut:
UPDATE dbo.tablo SET xxx = 'y' WHERE yyy='x'

Sizin bu komutu aşağıdaki gibi SELECT'e çevirip çalıştırmanız gerekir ki kaç tane kaydın etkileneceğini bilesiniz:
SELECT COUNT(*) FROM dbo.tablo WHERE yyy='x'

Elle taşıma yapmak zaten başlı başına tehlikeli bir iş iken, bir de böyle elle komutlar yazıp çalıştırmak durumu daha da tehlikeli bir hale sokar. Bazen UPDATE'e WHERE kriterinin eklenmesi unutulur ve tüm tablodaki kayıtlar değişiklikten etkilenir. Bu gibi durumların yaşandığını az çok tecrübesi olan herkes zaman zaman görüyor…

İşte yeni eklenen özellik tam da bu soruna parmak basıyor. Aşağıdaki ekran görüntüsünden de görebileceğiniz gibi paket girişi yapan kişi 2 UPDATE ve bir de DELETE komutu girmiş:

Resim1

Önceden de değindiğim gibi normal şartlar altında bu komutları çalıştırmadan önce SELECT'lerini tekrar yazmalı ve kaç kaydın etkileneceğini öğrenmeniz gerekirdi. Fakat SQL Paket Taşıma Yöneticisi'nin "Kayıt sayısını al" özelliği ile artık bu iş de otomatikleşmiş oluyor. "Kayıt sayısını al" düğmesine tıkladığınızda, betiğinizdeki tüm DELETE ve UPDATE komutlarının SELECT'leri otomatik olarak sizin için hazırlanıyor ve isteğinize göre çalıştırılıp kaç kayıt getirdikleri görülebiliyor. 

Resim2

Resim2'de görebileceğiniz gibi "Kayıt sayısını al" düğmesine tıklayınca aşağıda farklı bir bölüm daha açılıyor ve burada, betikteki tüm DELETE ve UPDATE komutları için otomatik olarak SELECT komutları yazılıyor. Olabilecek kritik ortamlar gözönüne alınarak bu işin kontrollü bir şekilde yapılması nedeniyle her SELECT komutunun yanına "Çalıştır" düğmeleri kondu. Her bir SELECT komutunu hemen yanındaki SELECT düğmesiyle çalıştırabilirsiniz. Bu komuttaki WHERE kriteriyle kaç kaydın etkilendiğini hemen düğmenin sağoldaki "Kayıt sayısı" bölümünde görebilirsiniz.

Bunun yanında, her bir SELECT komutunun betik içerisindeki hangi komuta ait olduğunu görmek için SELECT komutunun üstüne tıklayabilirsiniz. Resim2'de de görebileceğiniz gibi 2. SELECT komutuna tıkladığımda betik içerisindeki sonuncu satır da otomatik olarak işaretlendi.

Ekrem Önsoy

Hiç yorum yok: