wmismail Posted June 12, 2009 Share Posted June 12, 2009 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 TRANSACTIONUPDATE tblYtlHesapSET bakiye=bakiye + @dovizMiktari*@dovizKuruWHERE hesapNo=@musteriHesapnoIF @@ERROR<>0ROLLBACKRETURN 0UPDATE tblDovizHesapSET bakiye=bakiye - @dovizMiktariWHERE hesapNo=@musteriHesapnoIF @@ERROR<>0ROLLBACKRETURN 0COMMITRETURN 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.