الفرق بين الالتزام و ROLLBACK في SQL
المحتوى
COMMITand ROLLBACK ، هما عبارات المعاملات التي يتم استخدامها أو القيام به أو التراجع عن المعاملات. يمكن أن تحتوي المعاملة على سلسلة من الاستعلامات ، أو قد تحتوي على عبارات التحديث التي تعدل قاعدة البيانات. الفرق الأساسي بين COMMIT و ROLLBACK يكمن في عملهم. إذا تم تنفيذ الصفقة بنجاح ، ارتكب تصريح يسمح التعديل الذي أجراه المعاملة في قاعدة البيانات لتصبح دائمة. من ناحية أخرى ، إذا تم تنفيذ الصفقة نتيجة لسبب ما بنجاح ثم التراجع البيان يلغي كل التحديثات ، مباشرة من البيان الأول للمعاملة الحالية.
دعونا نناقش الفرق بين عبارات Commit و ROLLBACK في SQL بمساعدة مخطط المقارنة الموضح أدناه.
- رسم بياني للمقارنة
- تعريف
- الاختلافات الرئيسية
- خاتمة
رسم بياني للمقارنة
أساس للمقارنة | ارتكب | التراجع |
---|---|---|
الأساسي | COMMIT بالتحقق من صحة التعديلات التي تم إجراؤها بواسطة المعاملة الحالية. | ROLLBACK يمحو التعديلات التي تم إجراؤها بواسطة المعاملة الحالية. |
تأثير | بعد تنفيذ بيان COMMIT ، لا يمكن أن تكون المعاملة ROLLBACK. | بمجرد تنفيذ ROLLBACK ، تصل قاعدة البيانات إلى حالتها السابقة ، أي قبل تنفيذ أول بيان للمعاملة. |
حادثة | يحدث الالتزام عندما يتم تنفيذ المعاملة بنجاح. | يحدث ROLLBACK عندما يتم إحباط المعاملة في منتصف التنفيذ. |
بناء الجملة | ارتكب؛ | التراجع. |
تعريف الالتزام
ارتكب هو عبارة SQL ، التي تشير إلى ناجح الانتهاء من الصفقة. كلما أكملت المعاملة تنفيذها دون أي مقاطعة ، تصبح التعديلات التي أدخلت على قاعدة البيانات ، من خلال المعاملة دائمة. مما يعني أن قاعدة البيانات لا يمكنها استعادة حالاتها السابقة التي كانت فيها ، قبل تنفيذ البيان الأول ، للمعاملة.
بناء جملة عبارة COMMIT كالتالي:
ارتكب؛
كما ينتهي بيان آخر من الصفقة تصبح الصفقة ارتكبت جزئيا. التالي ، و بروتوكولات الاسترداد ضمان ، حتى فشل النظام ، لن تتمكن قاعدة البيانات ، لجعل التعديلات دائمة. بمجرد أن يتم التحقق من ذلك ، فإن ارتكاب نقطة وصلت الصفقة وأخيراً تدخل الصفقة في دولة ملتزمة. بمجرد أن تدخل المعاملة في حالة التزام ، لا يمكن التراجع عنها ، وتبدأ معاملة جديدة.
تعريف ROLLBACK
مثل الالتزام ، التراجع هو أيضا عبارة SQL ، ويشير إلى أن الصفقة لديها ليس تم الانتهاء بنجاح. وبالتالي ، فإن الصفقة هي إحباط للتراجع عن التغييرات التي تم إجراؤها بواسطة المعاملة. بعد تنفيذ ROLLBACK ، لا توجد تعديلات ، تتم بواسطة المعاملة الحالية.
بناء جملة ROLLBACK كالتالي:
تدحرج؛
تصبح عملية ROLLBACK ضرورية في حالة حدوث خطأ أثناء تنفيذ المعاملة. الخطأ يمكن أن يكون فشل النظام ، انقطاع التيار الكهربائي ، خطأ في بيانات المعاملات ، تعطل النظام. في حالة انقطاع التيار الكهربائي أو تعطل النظام ، يحدث ROLLBACK عند إعادة تشغيل النظام مرة أخرى. يمكن أن يحدث ROLLBACK فقط إذا لم يتم تنفيذ COMMIT بعد.
- يتمثل الاختلاف الرئيسي بين عبارات COMMIT و ROLLBACK لـ SQL في أن تنفيذ عبارة COMMIT يجعل كل التعديلات التي تجريها المعاملة الحالية دائمة. من ناحية أخرى ، يؤدي تنفيذ ROLLBACK إلى محو جميع التعديلات التي تم إجراؤها بواسطة المعاملة الحالية.
- بمجرد تنفيذ بيان الالتزام ، لا يمكن أن يكون التعديل الذي أجراه المعاملة. ومع ذلك ، بمجرد تنفيذ عبارة ROLLBACK ، تصل قاعدة البيانات إلى حالتها السابقة.
- يتم تنفيذ الالتزام عند التنفيذ الناجح لبيانات المعاملة. ومع ذلك ، يتم تنفيذ ROLLBACK عندما لا يتم تنفيذ المعاملة بنجاح.
خاتمة:
لضمان أن التغييرات التي تم إجراؤها بواسطة المعاملة يتم حفظها بشكل دائم في قاعدة البيانات ، استخدم COMMIT بعد إتمام المعاملة بنجاح. في حال واجهت الصفقة أي خطأ أثناء التنفيذ ثم التراجع عن التغييرات التي تم إجراؤها بواسطة المعاملة ، يتم استخدام ROLLBACK.