Transaction ile yapacağımız işlemlerin bir bütün olarak değerlendirilmesini sağlarız.
Bir bütün olarak değerlendirmeden kastım transaction blokları içerisinde bulunan işlemlerden
herhangi birisi hatalı ise bütün yapılan işlemleri geri alabiliriz ve böylece hassas olan
işlemlerde hata yapma riskini daha düşük seviyelere indirebiliriz.
transaction commit:
BEGIN TRANSACTION
...yapılacak işlemler
COMMIT TRANSACTION
begin transaction ile transaction başlatıyoruz ardından sql komutlarımızı yazıyoruz ve hata
almadığımız takdirde commit ile onaylıyoruz veya;
transaction rollback:
BEGIN TRANSACTION
...yapılacak işlemler
ROLLBACK TRANSACTION
hata aldığımız koşulda rollback ile işlemi geri alabiliyoruz.
Şunuda unutmayalım transaction kelimesini tran olarakta kısaltılmış hali ile de
kullanabiliyoruz.
Bilgisayarımda bir veritabanı oluşturdum ve veritabanımda urun adında bir tablom bulunuyor
Urun tablosunun içine ad sutünuna poşet verisini eklemek için insert into komutumu
kullanıyorum ve transaction rollback kullanımı ile aşağıdaki sonucu elde ediyorum.
Örneklerle geçelim:
transaction rollback kullanımı
|
sql transaction example |
Results(sonuçlar) alanına baktığımızda 2 adet farklı select sorgusu gözükmekte bunlardan birincisi
rollback kullanmadan yani işlemi geri almadan önceki hali
ikinci select sonucu ise gördüğünüz gibi poşet değerini içermiyor rollback işleminden sonra
eklenen değer geri alınmış.
Görseldeki yapı ile rollback yerine commit kullanırsak iki select sorgusunda da poşet verisi
eklenmiş olduğunu görebilirsiniz.