İşlem Kontrol Dönüşümü nedir?
İşlem Kontrolü, eşlemenin yürütülmesi sırasında işlemleri tamamlamamıza veya geri almamıza olanak tanıyan aktif ve bağlantılı bir dönüşümdür. Verilerin kullanılabilirliğini garanti ettiği için kaydetme ve geri alma işlemleri büyük önem taşır.
Yüksek hacimli verileri işlerken, verilerin hedefe ne zaman işleneceği bir durum olabilir. Bir kayıt çok sık gerçekleştirilirse, bu sistem için bir ek yük olacaktır. Bir işlem çok geç yapılırsa, başarısızlık durumunda veri kaybı olasılığı vardır.
Böylece esneklik sağlamak için İşlem kontrol dönüşümü sağlanır.
TCL COMMIT & ROLLBACK Komutları
Bu dönüşümde işlemi gerçekleştirmek için beş yerleşik değişken vardır.
TC_CONTINUE_TRANSACTIONTc_continue_transaction'da herhangi bir işlem yapılmaz, veri yükleme işlemi olduğu gibi devam eder.
TC_COMMIT_BEFORETc_commit_before'de bu bayrak ayarlandığında, mevcut satırın işlenmesinden önce bir kesinleştirme gerçekleştirilir.
TC_COMMIT_AFTERTc_commit_after'da mevcut satır işlendikten sonra bir commit gerçekleştirilir.
TC_ROLLBACK_BEFORETc_rollback_before'de önce geri dönüş gerçekleştirilir, ardından veri yazmak için işlenir.
TC_ROLLBACK_AFTERTc_rollback_after'da veriler işlenir ve ardından geri dönüş gerçekleştirilir.
Misal:
Bu örnekte, dept no = 20 koşulu doğru bulunduğunda verileri hedefe işleyeceğiz
Adım 1 - Kaynak olarak EMP ve hedef olarak EMP_TARGET ile bir eşleme oluşturun
Adım 2 - Dönüşüm menüsünü kullanarak yeni bir dönüşüm oluşturun, ardından
- Yeni dönüşüm olarak bir işlem kontrolü seçin
- "Tc_commit_dept20" dönüşüm adını girin
- Oluştur seçeneğini seçin
Adım 3 - İşlem kontrol dönüşümü oluşturulacak, tamam düğmesini seçin
Adım 4 - Tüm sütunları kaynak niteleyiciden işlem kontrol dönüşümüne sürükleyip bırakın, ardından tüm sütunları işlem kontrol dönüşümünden hedef tabloya bağlayın
Adım 5 - İşlem kontrol dönüşümüne çift tıklayın ve ardından özellik düzenleme penceresinde
- Mülk sekmesini seçin
- İşlem kontrol düzenleyici simgesine tıklayın
Adım 6 - ifade düzenleyicide ifadeyi girin -
" iif (deptno = 20, tc_commit_before, tc_continue_transaction)" ve Tamam'ı seçin
Bu, 20 numaralı bölüm bulunursa, işlemi hedefte kesin, aksi takdirde mevcut işleme devam edin demektir.
Adım 7 - Önceki pencerede Tamam'ı seçin
Şimdi eşlemeyi kaydedin ve oturum ve iş akışlarını oluşturduktan sonra çalıştırın. Bu haritalama, verilerde 20 numaralı departman bulunduğunda verileri hedefe işleyecektir.