موصى به, 2024

اختيار المحرر

الفرق بين COMMIT و ROLLBACK في SQL

COMMAND ROLLBACK ، هي عبارات المعاملتين المستخدمة أو التراجع عن المعاملات. يمكن أن تحتوي المعاملة على سلسلة من الاستعلامات أو قد تحتوي على عبارات التحديث التي تعدّل قاعدة البيانات. الفرق الأساسي بين COMMIT و ROLLBACK يكمن في عملهم. إذا تم تنفيذ المعاملة بنجاح ، تسمح العبارة COMMIT بإجراء التعديل الذي تم إجراؤه بواسطة المعاملة في قاعدة البيانات لتصبح دائمة. على الجانب الآخر ، إذا نفذت المعاملة بسبب سبب ما بنجاح ، فإن عبارة ROLLBACK تزيل جميع التحديثات ، مباشرة من أول كشف للمعاملة الحالية.

دعنا نناقش الفرق بين عبارات Commit و ROLLBACK في SQL بمساعدة مخطط المقارنة الموضح أدناه.

رسم بياني للمقارنة

أساس للمقارنةارتكبالتراجع
الأساسيةCOMMIT بالتحقق من صحة التعديلات التي تجريها المعاملة الحالية.يحذف ROLLBACK التعديلات التي تم إجراؤها بواسطة المعاملة الحالية.
تأثيربعد تنفيذ العبارة COMMIT ، لا يمكن المعاملة ROLLBACK.بمجرد تنفيذ ROLLBACK ، تصل قاعدة البيانات إلى حالتها السابقة ، أي قبل تنفيذ العبارة الأولى من المعاملة.
حادثةيحدث COMMIT عندما يتم تنفيذ المعاملة بنجاح.يحدث ROLLBACK عندما يتم إحباط المعاملة في منتصف التنفيذ.
بناء الجملةارتكب؛التراجع.

تعريف اللجنة

COMMIT هي عبارة SQL ، والتي تشير إلى إكمال المعاملة بنجاح . عند اكتمال تنفيذ العملية دون أي مقاطعة ، تصبح التعديلات التي يتم إجراؤها على قاعدة البيانات ، من خلال المعاملة دائمة. وهو ما يعني أن قاعدة البيانات لا يمكنها استعادة حالاتها السابقة التي كانت عليها قبل تنفيذ البيان الأول للمعاملة.

إن صيغة جملة COMMIT كما يلي:

ارتكب؛

عندما ينتهي آخر بيان من المعاملة تصبح المعاملة جزئية . بعد ذلك ، تضمن بروتوكولات الاسترداد ، أنه حتى فشل النظام ، لن يتمكن من قاعدة البيانات ، لجعل التعديلات دائمة. بمجرد التحقق من ذلك ، وصلت نقطة الالتزام في المعاملة وأخيراً تدخل المعاملة في حالة الالتزام . بمجرد دخول المعاملة في حالة الالتزام ، لا يمكن التراجع عنها ، وتبدأ عملية جديدة.

تعريف ROLLBACK

مثل COMMIT ، ROLLBACK هو أيضًا عبارة SQL ، ويشير إلى أن المعاملة لم تكتمل بنجاح . وبالتالي ، يتم إحباط المعاملة التراجع عن التغييرات التي تم إجراؤها بواسطة المعاملة. بعد تنفيذ ROLLBACK ، لا يتم إجراء أي تعديلات ، من خلال المعاملة الحالية.

بناء الجملة من ROLLBACK هو على النحو التالي:

التراجع

المعاملة ROLLBACK تصبح ضرورية في حالة حدوث خطأ أثناء تنفيذ معاملة. يمكن أن يكون الخطأ هو فشل النظام ، انقطاع التيار الكهربائي ، الخطأ في كشف المعاملات ، تعطل النظام. في حالة انقطاع التيار الكهربائي أو تعطل النظام ، يحدث ROLLBACK عند إعادة تشغيل النظام مرة أخرى. يمكن أن يحدث ROLLBACK فقط إذا لم يتم تنفيذ COMMIT.

الاختلافات الرئيسية بين COMMIT و ROLLBACK في SQL

  1. الاختلاف الرئيسي بين عبارات COMMIT و ROLLBACK من SQL هو أن تنفيذ العبارة COMMIT يجعل كل التعديل الذي تم إجراؤه بواسطة المعاملة الحالية تصبح دائمة. على الجانب الآخر ، يؤدي تنفيذ ROLLBACK إلى مسح جميع التعديلات التي تم إجراؤها بواسطة المعاملة الحالية.
  2. بمجرد تنفيذ جملة COMMIT ، لا يمكن أن يكون التعديل الذي تم إجراؤه بواسطة المعاملة ROLLBACK. ومع ذلك ، بمجرد تنفيذ العبارة ROLLBACK ، تصل قاعدة البيانات إلى حالتها السابقة.
  3. يتم تنفيذ CommIT على التنفيذ الناجح لعبارات المعاملة. ومع ذلك ، يتم تنفيذ ROLLBACK عندما لا يتم تنفيذ المعاملة بنجاح.

استنتاج:

للتأكد من حفظ التغييرات التي تم إجراؤها بواسطة المعاملة بشكل دائم في قاعدة البيانات ، استخدم CommIT بعد الإتمام الناجح للمعاملة. في حالة مواجهة المعاملة لأي خطأ أثناء التنفيذ ، عندئذٍ للتراجع عن التغييرات التي تمت بواسطة المعاملة ، يتم استخدام ROLLBACK.

Top