ההבדל בין COMMIT ל ROLLBACK ב- SQL

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 1 אַפּרִיל 2021
תאריך עדכון: 1 מאי 2024
Anonim
Introduction to Java Servlets
וִידֵאוֹ: Introduction to Java Servlets

תוֹכֶן


התחייבות והפעלת חוזר, הן שתי הצהרות העסקאות המשמשות לביצוע, ביצוע או ביטול העסקאות. בעסקה יכולה להיות רצף של שאילתות, או שיש בה הצהרות העדכון שמשנות את מסד הנתונים. ההבדל המהותי בין COMMIT ל ROLLBACK טמון בעבודתם. אם העסקה מתבצעת בהצלחה, התחייבות הצהרה מאפשרת לשינוי המתבצע בעסקה בבסיס הנתונים להיות קבוע. מצד שני, אם העסקה מסיבה כלשהי אכן מתבצעת בהצלחה אזי גלגל לאחור ההצהרה מבטלת את כל העדכונים, כבר מההצהרה הראשונה של העסקה הנוכחית.

בוא נדון בהבדל בין הצהרות Commit ו- ROLLBACK ב- SQL בעזרת תרשים השוואה המוצג להלן.

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. סיכום

טבלת השוואה

בסיס להשוואההתחייבותגלגל לאחור
בסיסיCOMMIT מאמת את השינויים שבוצעו על ידי העסקה הנוכחית.ROLLBACK מוחק את השינויים שבוצעו על ידי העסקה הנוכחית.
השפעהלאחר ביצוע הצהרת COMMIT, העסקה לא יכולה להיות ROLLBACK.לאחר ביצוע ROLLBACK מסד הנתונים מגיע למצב הקודם שלו, כלומר לפני ביצוע ההצהרה הראשונה של העסקה.
התרחשותCOMMIT מתרחש כאשר העסקה מתבצעת בהצלחה.ROLLBACK מתרחש כאשר הפסקת העסקה באמצע הביצוע.
תחבירהתחייבות;גלגל לאחור;

הגדרת COMMIT

התחייבות היא הצהרת SQL, המסמנת את מצליח השלמת עסקה. בכל פעם שעסקה מסיימת את ביצועה ללא כל הפרעה, השינויים שבוצעו בבסיס הנתונים על ידי העסקה הופכים להיות קבועים. מה שאומר שבסיס הנתונים לא יכול להחזיר את מצביו הקודמים בהם היה לפני ביצוע ההצהרה הראשונה, על העסקה.


התחביר של הצהרת COMMIT הוא כדלקמן:

התחייבות;

עם סיום ההצהרה האחרונה של העסקה הופכת העסקה מחויב באופן חלקי. הבא, פרוטוקולי התאוששות וודא שאפילו כשל במערכת, לא יוכל למסד הנתונים להפוך את השינויים לקבועים. ברגע שנבדק זה, נקודת התחייבות של העסקה הגיעה ולבסוף העסקה מתבצעת מדינה מחויבת. ברגע שהעסקה נכנסת למצב מחויב, לא ניתן יהיה להחזיר אותה, ומתחילה עסקה חדשה.

הגדרת ROLLBACK

כמו COMMIT, גלגל לאחור היא גם הצהרת SQL והיא מאותתת שיש לעסקה לא הושלמה בהצלחה. מכאן שהעסקה היא בוטל לביטול השינויים שבוצעו על ידי העסקה. לאחר ביצוע ה- ROLLBACK, לא יישמרו שינויים שנעשו על ידי העסקה הנוכחית.

התחביר של ROLLBACK הוא כדלקמן:

גלגל לאחור ;

ביצוע ROLLBACK נחוץ אם מתרחשת שגיאה במהלך ביצוע העסקה. השגיאה יכולה להיות כשל במערכת, הפסקת חשמל, שגיאה בהצהרות עסקאות, התרסקות מערכת. במקרה של הפסקת חשמל או התרסקות מערכת, ה- ROLLBACK מתרחש כאשר המערכת מופעלת מחדש. ROLLBACK יכול להתרחש רק אם COMMIT עדיין לא מופעל.


  1. ההבדל העיקרי בין הצהרות ה- COMMIT וה- ROLLBACK של SQL הוא שביצוע הצהרת COMMIT הופך את כל השינויים שבוצעו על ידי העסקה הנוכחית לקבועים. מצד שני, ביצוע ROLLBACK מוחק את כל השינויים שבוצעו על ידי העסקה הנוכחית.
  2. לאחר ביצוע הצהרת COMMIT, לא ניתן יהיה לבצע את השינוי שבוצע על ידי העסקה. עם זאת, לאחר ביצוע הצהרת ה- ROLLBACK, מסד הנתונים מגיע למצב הקודם שלו.
  3. COMMIT יוצא להורג עם ביצוע מוצלח של הצהרות העסקה. עם זאת, ה- ROLLBACK מבוצע כאשר העסקה לא מתבצעת בהצלחה.

סיכום:

כדי להבטיח כי השינויים שבוצעו על ידי העסקה נשמרים לצמיתות בבסיס הנתונים, השתמש ב COMMIT לאחר השלמת העסקה בהצלחה. במקרה שהעסקה עומדת בפני שגיאה כלשהי בזמן ביצועה, כדי לבטל את השינויים שנעשו על ידי העסקה, משתמשים ב- ROLLBACK.