TRANSACTİON Kullanımı
Bir transaction bir veya daha fazla SQL ifadesinden meydana gelen tek bir işlemdir. SQL ifadelerinin tamamı bir bütün olarak düşünülür ve daha küçük İş parçalarına ayrılamaz. Özellikle ardı ardına gelen ve birbiriyle bağımlı birden fazla işlemin tek bir İşlem olarak kullanılmasını sağlar.Bir transaction içerdiği SQL ifadelerini tamamını veya hiçbirini gerçekleştirir. SQL ifadelerini bir bölümünün uygulanması gibi bir İşlem söz konusu olamaz. İşlemlerin tamamı gerçekleşmediği sürece işlemlerin hiçbiri gerçekleşmemiş sayılır.Bir müşteri kendi hesabından başka bir hesaba 1500 TL para transferi gerçekleştiriyor. Önce kişinin hesabından transfer edilecek olan 1500 TL tutar düşülmelidir. Sonra diğer kişinin hesabına transfer edilecek olan 1500 TL tutar eklenmelidir.UPDATE hesaplar SET bakiye=bakiye-1500
WHERE hesap_no=1453
UPDATE hesaplar SET bakiye=bakiye+1500
WHERE hesap_no=145 4
Bu işlemlerden birincisi gerçekleştikten sonra herhangi bir sorundan dolayı İkinci işlem
gerçekleşmezse hesaplarla ilgili ciddi sorunlar yaşanabilir
Gönderenin hesabından 1500TL tutar düşer ama alıcının hesabına bu para aktarılamaz
Bu tür sorunları Önlemek için transaction yapılan kullanılır.
Transaction her iki işlemi de tek bir işlem olarak ele alacağı için herhangi birisi gerçekleşmediği zaman
diğer gerçekleşen işlemleri de yok sayacaktır.
Yani gerçekleşen işlemi geri alacaktır(rollback)
Eğer işlemlerin tamamı sorunsuz bir şekilde gerçekleşirse, tüm İşlemleri kalıcı(commit) hale
getirecektir.
Transaction yapıları transaction logları adı verilen yöntemi kullanır
Örnek;
BEGIN transaction
UPDATE kitaplar SET s_sayisi=0
UPDATE kitaplar SET kitap_adi='Deneme'
SELECT * FROM kitaplar
ROLLBACK
SELECT * PROM kitaplar
0 yorum:
Yorum Gönder