Sql TRANSACTİON


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

 
© 2014 İrfan Blog ' s | Mehmet İrfan ErdoğanTüm Hakları Saklıdır | r