2008-07-16

SQL'de Kodu Kısaltmak Her Zaman Yararlı Değildir!

SQL de tablo adlarını alias ile kısaltmak çoğu zaman yazacağımız kodu kısaltır ve kodun anlaşılabilirliğini artırır. SQL kısaltmalarını bir çok yerde desteklemekle birlikte sakıncalı olabilecek yerlerde de dikkat etmenizi öneririm.

SQL kodlayan yazılımcılar arasında sıklıkla yapılan hatalardan birisi de kısaltma hastalığı neticesinde yanlış tabloyu update etmektir. SQL kodunu kısaltayım derken iş ömrünüzü kısaltmayın!

Örnek: 1 nolu şirketteki personelin statu sunu 0 yapacak kodu yazmaya çalışalım:

update s
set statu=0
from personel p inner join sirket s ON P.sirketid=S.id
where S.id=1

Yazdığım kod kısa olduğu için hatayı hemen yakalamak mümkün ama SQL kodu çok uzunsa hatayı yakalamak zor olabilir. Yukarıda yapılan hata personel durumlarını update edeyim derken şirket durumu update edilmiştir. Her iki tablodada statu alanı olduğu için kod çalıştırıldığında düzgünmüş gibi çalışıp, kodu yazanın yanılmasına sebep olur.Bu konuda sizlere acizane tavsiyem update edeceğiniz tablo adını uzun bir şekilde yazmanız.

Şimdi hatamızı düzeltip SQL kodumuzu daha okunabilir bir şekilde yazalım:

UPDATE Personel
SET statu=0
FROM Personel INNER JOIN Sirket ON Personel.sirketid=Sirket.id
WHERE Sirket.id=1

Tabiki yapacağınız işleri TRANSACTION block içerisinde yazmak her zaman daha güvenli olacaktır ve yaptığınız hatadan dönme şansını size verecektir:

BEGIN TRAN

UPDATE Personel
SET statu=0
FROM Personel INNER JOIN Sirket ON Personel.sirketid=Sirket.id
WHERE Sirket.id=1


COMMIT TRAN

Herkese hatasız ve performanslı bol SQL li günler...

Hiç yorum yok:

.::YASAL UYARI::.

©2004-2016 Mehmet GÜZEL, http://www.mehmetguzel.net/ & http://www.mehmetguzel.com/

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.