Jump to content

Transaction Nedir ?


wmismail

Recommended Posts

Transaction Nedir ?

Geliştirmekte olduğumuz uygulamalarımızda bir takım olaylar vardır ki, birbirine bağımlıdır ve bir bütün olarak hareket etmelidirler. Bu tarz küçük parçalara ayrılamayan işlemlere transaction denir. İşlemlerin tamamı gerçekleşmediği sürece tekil olarak çalışan işlemler çalışmamış kabul edilir. Bir örnek vermek gerekirse , geliştirdiğiniz uygulama bir bankanın internet şubesine yönelik ise, döviz bozdurma işlemi bir müştiriden döviz alımı yapıldığında dövizin miktarı kadar kasadaki döviz miktarını aktarmalı ve dövizin miktarına tekabül eden YTL kasadan düşülmelidir. Bu işlem yapılırken kişinin hesabına YTL aktarımı yapıldıktan sonra eğer bir problem olursa ve bu işlemleri birbirine bağımlı hale getirmez isek dövizde müşteride kalır yada tam terside olabilir.

bu işlemi uygulamızdaki stored procedure de :

BEGIN TRANSACTION


UPDATE tblYtlHesap

SET bakiye=bakiye + @dovizMiktari*@dovizKuru

WHERE hesapNo=@musteriHesapno

IF @@ERROR<>0

ROLLBACK

RETURN 0

UPDATE tblDovizHesap

SET bakiye=bakiye - @dovizMiktari

WHERE hesapNo=@musteriHesapno

IF @@ERROR<>0

ROLLBACK

RETURN 0

COMMIT

RETURN 1[/CODE]

SQL serverin sağladığı 3 farklı transaction vardır.

[color=#FF0000]1- Auto Commit :[/color] eğer herhangi bir mod belirlenmedi ise standart olarak gelen türdürç

[color=#FF0000]2 - Harici(Explicit) Transaction :[/color] kullanıcı tarafından begin tran ile başladıtılıp commit ve rollback işlemlerini belirlediğimiz moddur.

[color=#FF0000]3- Dahili(Implict) Transaction :[/color] belirli ifadelerde otomatik olarak transaction başlamasını sağlar fakat, rollback ve commit işlemlerini bizim yapmamız gerekir.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...