Mari kita bahas perbedaan antara pernyataan Komit dan ROLLBACK dalam SQL dengan bantuan grafik perbandingan yang ditunjukkan di bawah ini.
Grafik perbandingan
Dasar untuk Perbandingan | MELAKUKAN | ROLLBACK |
---|---|---|
Dasar | COMMIT memvalidasi modifikasi yang dibuat oleh transaksi saat ini. | ROLLBACK menghapus modifikasi yang dibuat oleh transaksi saat ini. |
Efek | Setelah mengeksekusi pernyataan COMMIT, transaksi tidak dapat ROLLBACK. | Setelah ROLLBACK dieksekusi, basis data mencapai keadaan sebelumnya, yaitu sebelum eksekusi pernyataan pertama transaksi. |
Kejadian | COMMIT terjadi ketika transaksi dijalankan dengan sukses. | ROLLBACK terjadi ketika transaksi dibatalkan di tengah-tengah eksekusi. |
Sintaksis | MELAKUKAN; | ROLLBACK; |
Definisi KOMIT
COMMIT adalah pernyataan SQL, yang menandakan penyelesaian transaksi yang berhasil. Setiap kali transaksi menyelesaikan eksekusi tanpa gangguan, modifikasi yang dilakukan ke database, oleh transaksi menjadi permanen. Yang berarti bahwa basis data tidak dapat memperoleh kembali status sebelumnya di mana ia, sebelum pelaksanaan pernyataan pertama, dari transaksi.
Sintaks pernyataan COMMIT adalah sebagai berikut:
MELAKUKAN;
Ketika pernyataan terakhir transaksi berakhir, transaksi menjadi sebagian komitmen . Selanjutnya, protokol pemulihan memastikan, bahwa bahkan kegagalan sistem, tidak akan dapat membuat database, untuk membuat modifikasi permanen. Segera setelah dicentang, titik komit transaksi telah mencapai dan akhirnya transaksi masuk ke dalam komitmen . Setelah transaksi masuk ke kondisi komitmen, itu tidak dapat dibatalkan, dan transaksi baru dimulai.
Definisi ROLLBACK
Seperti COMMIT, ROLLBACK juga merupakan pernyataan SQL, dan ini menandakan bahwa transaksi belum selesai dengan sukses . Karenanya, transaksi dibatalkan untuk membatalkan perubahan yang dilakukan oleh transaksi. Setelah eksekusi ROLLBACK, tidak ada modifikasi, dilakukan oleh transaksi saat ini tetap.
Sintaks ROLLBACK adalah sebagai berikut:
ROLLBACK;
ROLLBACK Transaksi menjadi perlu jika terjadi kesalahan selama eksekusi transaksi. Kesalahan dapat berupa kegagalan sistem, pemadaman listrik, kesalahan dalam laporan transaksi, kerusakan sistem. Dalam kasus kegagalan daya atau kerusakan sistem, ROLLBACK terjadi ketika sistem dinyalakan kembali. ROLLBACK hanya dapat terjadi jika COMMIT belum dieksekusi.
Perbedaan Kunci Antara COMMIT dan ROLLBACK dalam SQL
- Perbedaan utama antara pernyataan COMMIT dan ROLLBACK dari SQL adalah bahwa pelaksanaan pernyataan COMMIT membuat semua modifikasi yang dilakukan oleh transaksi saat ini menjadi permanen. Di sisi lain, eksekusi ROLLBACK menghapus semua modifikasi yang dilakukan oleh transaksi saat ini.
- Setelah pernyataan COMMIT telah melakukan modifikasi yang dilakukan oleh transaksi tidak dapat ROLLBACK. Namun, setelah pernyataan ROLLBACK dieksekusi, basis data mencapai kondisi sebelumnya.
- KOMIT dieksekusi pada keberhasilan pelaksanaan laporan transaksi. Namun, ROLLBACK dieksekusi ketika transaksi tidak berhasil dieksekusi.
Kesimpulan:
Untuk memastikan, bahwa perubahan yang dilakukan oleh transaksi disimpan secara permanen dalam database, gunakan COMMIT setelah transaksi berhasil diselesaikan. Dalam hal transaksi menghadapi kesalahan saat eksekusi kemudian untuk membatalkan perubahan yang dilakukan oleh transaksi, ROLLBACK digunakan.