Menggunakan transaksi otonom untuk apa pun selain pencatatan yang ingin Anda pertahankan saat transaksi induk dibatalkan hampir pasti merupakan kesalahan. Ini bukan penggunaan yang baik dari transaksi otonom.
Apa yang terjadi, misalnya, jika saya memperbarui baris di t1
tapi transaksi saya mundur. t2
perubahan telah dibuat dan dilakukan sehingga tidak mundur. Itu umumnya berarti bahwa t2
data sekarang salah. Inti dari transaksi adalah untuk memastikan bahwa serangkaian perubahan bersifat atomik dan benar-benar berhasil atau sepenuhnya dikembalikan. Membiarkan kode berhasil sebagian hampir tidak pernah merupakan ide yang baik.
Saya kesulitan untuk melihat apa yang menggunakan transaksi otonom membeli Anda di sini. Anda akan sering melihat orang salah menggunakan transaksi otonom untuk mengatasi kesalahan pemicu mutasi. Tetapi kode yang Anda posting tidak akan menghasilkan kesalahan pemicu mutasi kecuali ada pemicu tingkat baris di t2
yang juga mencoba memperbarui t1
atau mekanisme serupa yang memperkenalkan tabel bermutasi. Namun, jika itu masalahnya, menggunakan transaksi otonom biasanya lebih buruk karena transaksi otonom tidak dapat melihat perubahan yang dibuat dalam transaksi induk yang hampir pasti menyebabkan kode berperilaku berbeda dari yang Anda inginkan.