4 Ekim 2015 Pazar

Sqlserverd TRANSACTİON

TRANSACTİON: Bir işlem yarıda kaldımı kalmadımı tamamen bittimi birmedimi kontrol eder güvenligi saglar mesela bankya para yattı yatarken bir hata meydana geldi alıcıya para gitti gönderenden para düşülmedi banka zararda olur gibi...

create proc HavaleYap
@gonderen int,
@alici int,
@miktar money
as
begin try
begin tran havale   //Transaction işlemi başaltılır commit ve rollback olanakadar devameder

update Hesap set Bakiye +=@miktar where Hesapid=@alici
update Hesap set Bakiye -=@miktar where Hesapid=@gonderen
commit tran havale    // Transaction işlemi onaylanınca işlemler kalıcı olur
end try

begin catch
rollback tran havale
print ' bir hata oluştu'
end catch



cagırırken ise ;

begin  tran
insert Hesap  values('yasemin',500)

EKLER 


ROLLBACK TRAN dersek yasemini geri siler 











//TRANSACTİON  3 tanedir 


Auto Complate Mode :   Transaction otomatik acılır otomatik kapanır
İmplicit Mode :    transaction otomatik acılır fakat elle kapatmak gerekir 
Explicit Mode: yazılımcının elle acıp elle kapattıgı moddur






O anda kac transaction calsıyor  görmek icin :


select @@TRANCOUNT
Share: