SQL में COMMIT और ROLLBACK के बीच अंतर
विषय
COMMITAND रोलबैक, दो लेन-देन संबंधी कथन हैं जिनका उपयोग लेन-देन करने, करने या पूर्ववत करने के लिए किया जाता है। लेन-देन में प्रश्नों का अनुक्रम हो सकता है, या इसमें डेटाबेस को संशोधित करने वाले अपडेट स्टेटमेंट हो सकते हैं। COMMIT और रोलबैक के बीच मूलभूत अंतर उनके काम में निहित है। यदि लेनदेन को सफलतापूर्वक निष्पादित किया जाता है, तो COMMIT विवरण डेटाबेस में लेनदेन के स्थायी होने के लिए किए गए संशोधन की अनुमति देता है। दूसरी ओर, यदि किसी कारण से लेन-देन सफलतापूर्वक निष्पादित होता है तो ROLLBACK कथन वर्तमान लेनदेन के पहले कथन से सभी अपडेट्स को पूर्ववत् करता है।
नीचे दिए गए तुलना चार्ट की सहायता से एसक्यूएल में कमिट और रोलबैक स्टेटमेंट के बीच के अंतर पर चर्चा करते हैं।
- तुलना चार्ट
- परिभाषा
- मुख्य अंतर
- निष्कर्ष
तुलना चार्ट
तुलना के लिए आधार | COMMIT | ROLLBACK |
---|---|---|
बुनियादी | COMMIT वर्तमान लेनदेन द्वारा किए गए संशोधनों को मान्य करता है। | रोलबैक वर्तमान लेनदेन द्वारा किए गए संशोधनों को मिटा देता है। |
प्रभाव | COMMIT स्टेटमेंट के निष्पादन के बाद, लेन-देन ROLLBACK नहीं हो सकता है। | एक बार रोल ओवर निष्पादित होने के बाद डेटाबेस अपने पहले की स्थिति में पहुंच जाता है, यानी लेनदेन के पहले स्टेटमेंट के निष्पादन से पहले। |
घटना | जब लेनदेन सफलतापूर्वक निष्पादित हो जाता है तो COMMIT होता है। | रोलबैक तब होता है जब लेनदेन को निष्पादन के बीच में रोक दिया जाता है। |
वाक्य - विन्यास | COMMIT; | ROLLBACK; |
COMMIT की परिभाषा
COMMIT SQL कथन है, जो संकेत करता है सफल लेन-देन का पूरा होना। जब भी कोई लेनदेन बिना किसी रुकावट के अपना निष्पादन पूरा करता है, तो लेनदेन द्वारा डेटाबेस में किए गए संशोधन स्थायी हो जाते हैं। जिसका अर्थ है कि डेटाबेस अपने पिछले राज्यों को फिर से प्राप्त नहीं कर सकता है, जिसमें वह लेन-देन के पहले बयान के निष्पादन से पहले था।
COMMIT स्टेटमेंट का सिंटैक्स इस प्रकार है:
COMMIT;
लेन-देन के अंतिम विवरण के रूप में लेनदेन समाप्त हो जाता है आंशिक रूप से प्रतिबद्ध। इसके बाद द रिकवरी प्रोटोकॉल सुनिश्चित करें, कि सिस्टम विफलता भी, संशोधनों को स्थायी बनाने के लिए, डेटाबेस को असमर्थ नहीं करेगी। जैसे ही यह जाँच की जाती है, बात करना लेन-देन पहुँच गया है और अंत में लेन-देन में प्रवेश करता है प्रतिबद्ध राज्य। एक बार जब लेनदेन एक प्रतिबद्ध स्थिति में प्रवेश करता है, तो इसे रोलबैक नहीं किया जा सकता है, और एक नया लेनदेन शुरू होता है।
रोलबैक की परिभाषा
COMMIT की तरह, ROLLBACK SQL कथन भी है, और यह संकेत देता है कि लेन-देन है नहीं पूरा हो गया है सफलतापूर्वक। इसलिए, लेन-देन है गर्भपात लेन-देन द्वारा किए गए परिवर्तनों को पूर्ववत करने के लिए। रोलबैक के निष्पादन के बाद, कोई भी संशोधन, वर्तमान लेनदेन द्वारा नहीं किया जाता है।
रोलबैक का सिंटैक्स निम्नानुसार है:
रोलबैक;
लेन-देन के निष्पादन के दौरान त्रुटि होने पर लेन-देन रोलबैक आवश्यक हो जाता है। त्रुटि सिस्टम विफलता, पावर आउटेज, लेन-देन विवरणों में त्रुटि, सिस्टम क्रैश हो सकती है। बिजली की विफलता या सिस्टम क्रैश के मामले में, सिस्टम के दोबारा चालू होने पर रोलबैक होता है। रोलबैक केवल तभी हो सकता है जब COMMIT को अभी तक निष्पादित नहीं किया गया है।
- SQL के COMMIT और ROLLBACK कथनों के बीच मुख्य अंतर यह है कि COMMIT स्टेटमेंट का निष्पादन वर्तमान लेनदेन द्वारा किए गए सभी संशोधन को स्थायी बना देता है। दूसरी ओर, ROLLBACK का निष्पादन वर्तमान लेनदेन द्वारा किए गए सभी संशोधन को मिटा देता है।
- एक बार जब COMMIT स्टेटमेंट ने लेन-देन के संशोधन को निष्पादित कर दिया है तो रोलबैक नहीं किया जा सकता है। हालाँकि, एक बार जब रोलबैक स्टेटमेंट निष्पादित हो जाता है तो डेटाबेस अपनी पिछली स्थिति में पहुँच जाता है।
- COMMIT लेन-देन विवरणों के सफल निष्पादन पर निष्पादित होता है। हालाँकि, लेन-देन तब निष्पादित किया जाता है जब लेनदेन सफलतापूर्वक निष्पादित नहीं होता है।
निष्कर्ष:
यह सुनिश्चित करने के लिए कि लेनदेन में किए गए परिवर्तन स्थायी रूप से डेटाबेस में सहेजे गए हैं, लेनदेन के सफल होने के बाद COMMIT का उपयोग करें। यदि लेन-देन के दौरान लेनदेन में कोई त्रुटि होती है, तो लेनदेन द्वारा किए गए परिवर्तनों को समाप्त करने के लिए, रोलबैक का उपयोग किया जाता है।