Disyorkan, 2024

Pilihan Editor

Perbezaan antara COMMIT dan ROLLBACK dalam SQL

COMMITand ROLLBACK, adalah dua kenyataan transaksional yang digunakan untuk, melakukan atau membatalkan transaksi. Transaksi boleh mempunyai urutan pertanyaan, atau ia mungkin mempunyai pernyataan kemas kini yang mengubah pangkalan data. Perbezaan asas antara COMMIT dan ROLLBACK terletak dalam kerja mereka. Sekiranya urus niaga berjaya dilaksanakan maka kenyataan COMMIT membenarkan pengubahsuaian yang dibuat oleh urus niaga dalam pangkalan data untuk menjadi kekal. Di sisi lain, jika urus niaga disebabkan oleh sebab tertentu tidak berjaya dilaksanakan maka pernyataan ROLLBACK membatalkan semua kemas kini, dari penyata pertama transaksi semasa.

Marilah kita membincangkan perbezaan antara penyataan Commit dan ROLLBACK di SQL dengan bantuan carta perbandingan yang ditunjukkan di bawah.

Carta Perbandingan

Asas untuk PerbandinganCOMMITKEMBALIKAN
AsasCOMMIT mengesahkan pengubahsuaian yang dibuat oleh transaksi semasa.ROLLBACK memadamkan pengubahsuaian yang dibuat oleh transaksi semasa.
KesanSelepas pelaksanaan kenyataan COMMIT, transaksi tidak boleh ROLLBACK.Sebaik sahaja ROLLBACK dieksekusi pangkalan data mencapai keadaan sebelumnya, iaitu sebelum pelaksanaan penyata transaksi pertama.
KejadianCOMMIT berlaku apabila urus niaga berjaya dilaksanakan.ROLLBACK berlaku apabila urus niaga ditolak di tengah-tengah pelaksanaan.
SintaksCOMMIT;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

  1. 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.
  2. 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.
  3. 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.

Top