Marilah kita membincangkan perbezaan antara penyataan Commit dan ROLLBACK di SQL dengan bantuan carta perbandingan yang ditunjukkan di bawah.
Carta Perbandingan
Asas untuk Perbandingan | COMMIT | KEMBALIKAN |
---|---|---|
Asas | COMMIT mengesahkan pengubahsuaian yang dibuat oleh transaksi semasa. | ROLLBACK memadamkan pengubahsuaian yang dibuat oleh transaksi semasa. |
Kesan | Selepas pelaksanaan kenyataan COMMIT, transaksi tidak boleh ROLLBACK. | Sebaik sahaja ROLLBACK dieksekusi pangkalan data mencapai keadaan sebelumnya, iaitu sebelum pelaksanaan penyata transaksi pertama. |
Kejadian | COMMIT berlaku apabila urus niaga berjaya dilaksanakan. | ROLLBACK berlaku apabila urus niaga ditolak di tengah-tengah pelaksanaan. |
Sintaks | COMMIT; | KEMBALIKAN; |
Definisi KOMIT
COMMIT adalah pernyataan SQL, yang menandakan kejayaan transaksi. Apabila suatu transaksi menyelesaikan pelaksanaannya tanpa gangguan, pengubahsuaian yang dibuat ke pangkalan data, oleh transaksi menjadi kekal. Yang bermaksud bahawa pangkalan data tidak boleh mendapatkan kembali keadaan terdahulu di mana ia berada, sebelum pelaksanaan pernyataan pertama, transaksi itu.
Penyataan pernyataan COMMIT adalah seperti berikut:
COMMIT;
Sebagai penyata akhir urusniaga berakhir, urus niaga itu dilakukan secara separuh . Seterusnya, protokol pemulihan memastikan bahawa walaupun kegagalan sistem, tidak akan dapat pangkalan data, untuk membuat pengubahsuaian kekal. Sebaik sahaja ini diperiksa, titik komitmen transaksi telah dicapai dan akhirnya transaksi memasuki keadaan yang komited . Sebaik sahaja urusniaga memasuki keadaan yang dilakukan, ia tidak boleh dipulihkan, dan urus niaga baru bermula.
Definisi ROLLBACK
Sama seperti COMMIT, ROLLBACK juga merupakan pernyataan SQL, dan ia menandakan bahawa urus niaga itu tidak berjaya . Oleh itu, urusniaga digugurkan untuk membatalkan perubahan yang dilakukan oleh transaksi. Selepas pelaksanaan ROLLBACK, tiada pengubahsuaian yang dilakukan oleh urus niaga semasa masih ada.
Sintaks ROLLBACK adalah seperti berikut:
KEMBALIKAN ;
Transaksi ROLLBACK menjadi perlu sekiranya berlaku kesilapan semasa pelaksanaan transaksi. Kesilapan ini boleh menjadi kegagalan sistem, pemadaman kuasa, kesilapan dalam kenyataan transaksi, kemalangan sistem. Dalam kes kegagalan kuasa atau kemalangan sistem, ROLLBACK berlaku apabila sistem dimulakan semula. ROLLBACK boleh berlaku hanya jika COMMIT belum dilaksanakan.
Perbezaan Utama antara COMMIT dan ROLLBACK dalam SQL
- Perbezaan utama antara kenyataan COMMIT dan ROLLBACK SQL adalah bahawa pelaksanaan kenyataan COMMIT membuat semua pengubahsuaian yang dibuat oleh transaksi semasa menjadi kekal. Di sisi lain, pelaksanaan ROLLBACK memadam semua pengubahsuaian yang dibuat oleh transaksi semasa.
- Sekali pernyataan COMMIT telah melaksanakan pengubahsuaian yang dibuat oleh transaksi itu tidak boleh menjadi ROLLBACK. Walau bagaimanapun, sebaik sahaja penyataan ROLLBACK dilaksanakan pangkalan data mencapai keadaan sebelumnya.
- COMMIT akan dilaksanakan atas kejayaan pelaksanaan penyata transaksi. Walau bagaimanapun, ROLLBACK dilaksanakan apabila urus niaga tidak berjaya dilaksanakan.
Kesimpulan:
Untuk memastikan bahawa perubahan yang dibuat oleh urus niaga disimpan secara kekal dalam pangkalan data, gunakan COMMIT selepas penyelesaian transaksi berjaya. Sekiranya urus niaga menghadapi apa-apa kesilapan semasa pelaksanaan maka untuk membatalkan perubahan yang dilakukan oleh transaksi, ROLLBACK digunakan.