ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
SQL TRANSACTION YAPISI ve KULLANIMI

Transaction yapısı SQL de bütün halindeki işlemleri bir blok halinde uygulamaya yarar. Bir işlemi gerçekleştirmek için yapacağımız bütün komutların başarı ile gerçekleşmesi sonucu işlemlerimiz database e yansır, aksi takdirde herhangi bir hata almamız durumunda ise o an a kadarki yapılan işlemler iptal edilerek geri alınır. 

Mesela transaction yapılarının kullanımının neden gerekli olduğunu anlamak için şu örneğe bakalım. Bir bankamatik işlemi düşünün. Herhangi bir hesaba para havale edeceksiniz yada fatura vs. yatıracaksınız. Gerekli bilgileri girdiniz ve ardından onayladınız. yapılacak işlemler belirlidir. Sizden para çıkacak ve karşı kişi yada kurumun hesabına yatacaktır. Hangi sıra ile yapacak olursak olalım, işlemin ortasındayken server bağlantısının koptuğunu, internetin yada elektriğin kesildiğini düşünün. Böyle bir durumda ya para hesabınızdan çıkmış fakat karşıya ulaşmamış olacak (Para bankanın hesabında kalır) yada ilk önceliği karşıya aktarma olarak düşünürsek bu seferde faturanızı yada havalenizi yapmış olup hemde paranız kesilmemiş olacak (kısmen iyi bir durum : ) ) 

FK-gizle

işte bu gibi genellikle güvenlik ve para işlerinde transaction yapıları sık sık kullanılmaktadır. Anlattığım sisteme şema üzerinde bakarsak daha net anlayacağız.

SQL-Transaction-şema

Ana hatları ile TRANSACTION 4 bölümden oluşur

  1. Begin Transaction : Transaction başlangıcıdır
  2. Save transaction : Geri dönüşüm noktası belirler
  3. Rollback : yapılan işlemleri iptal eder
  4. Commit : Tüm işlemleri onaylar

Şimdi sıra ile bu yapıları inceleyelim.

 

BEGIN TRANSACTION
Bu komut her kullanıldığında yeni bir transaction başlatır. İşlemleri onaylamak yada iptal etmek için ardından gelecek Commit veya Rollback komutunu bekler.

Kullanım Şekli;

BEGIN TRANSACTION
SQL KOMUTLARI
SQL KOMUTLARI
SQL KOMUTLARI...

 

ROLLBACK TRANSACTION

Bu komut ile başlatılan BEGIN TRANSACTION dan itibaren yapılan bütün işlemler iptal edilir.

Kullanım Şekli;

BEGIN TRANSACTION
SQL KOMUTLARI
SQL KOMUTLARI
SQL KOMUTLARI...
(SQL exception) // !!!HATA!!!
ROLLBACK TRANSACTION

 

COMMIT TRANSACTION

Bu komut ile başlatılan BEGIN TRANSACTION dan itibaren yapılan bütün işlemler onaylanır. Eğer bir transaction yapılmışsa ardından yapılan işlemlerin kaydedilmesi için kesinlikle COMMIT TRANSACTION gelmelidir.

Kullanım Şekli;

BEGIN TRANSACTION
SQL KOMUTLARI
SQL KOMUTLARI
SQL KOMUTLARI...

COMMIT TRANSACTION

 




Diğer Yazılarımdan Seçmeler...