MySQL में लेन-देन संबंधी संग्रहीत प्रक्रियाएं
एक संग्रहित प्रक्रिया के भीतर लेन-देन के तरीके से कई SQL कथनों को निष्पादित करना यह सुनिश्चित करता है कि या तो सभी कथन सफलतापूर्वक निष्पादित हों या कोई भी नहीं बिल्कुल निष्पादित करें. डेटा स्थिरता और अखंडता बनाए रखने के लिए यह व्यवहार महत्वपूर्ण है। यहां बताया गया है कि आप अपनी MySQL संग्रहीत प्रक्रिया में लेनदेन कैसे प्राप्त कर सकते हैं:
सिंटैक्स त्रुटि सुधार
आपके प्रदत्त कोड स्निपेट में, दो वाक्यविन्यास त्रुटियां हैं जो संग्रहीत प्रक्रिया को रोक रही हैं लेन-देन करने से. सही वाक्यविन्यास इस प्रकार है:
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING
BEGIN
ROLLBACK;
END;
यह कोड एक निकास हैंडलर घोषित करता है जो संग्रहीत प्रक्रिया के निष्पादन के दौरान SQL अपवाद या चेतावनी होने पर स्वचालित रूप से किसी भी परिवर्तन को वापस ले लेगा। निकास हैंडलर की शर्तों और DECLARE कथन के अंत में अर्धविराम के बीच अल्पविराम संग्रहीत प्रक्रिया के उचित कामकाज के लिए महत्वपूर्ण हैं।
उदाहरण
एक बार सिंटैक्स त्रुटियों को ठीक कर दिया गया है, संग्रहीत प्रक्रिया को START TRANSACTION...COMMIT ब्लॉक के भीतर SQL कथनों को संलग्न करके लेनदेन संबंधी बनाया जा सकता है। यहां लेनदेन संबंधी संग्रहित प्रक्रिया का एक उदाहरण दिया गया है:
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING
BEGIN
ROLLBACK;
END;
START TRANSACTION;
-- Your SQL statements here
COMMIT;
END
उपयोग
लेन-देन संबंधी संग्रहीत प्रक्रिया का उपयोग करने के लिए, बस इसे नियमित संग्रहीत प्रक्रिया के रूप में अपने एप्लिकेशन कोड से कॉल करें। यदि संग्रहीत प्रक्रिया के भीतर सभी SQL कथन सफलतापूर्वक निष्पादित होते हैं, तो COMMIT कथन इन परिवर्तनों को डेटाबेस में स्थायी बना देगा। यदि कोई SQL अपवाद या चेतावनी होती है, तो रोलबैक कथन स्वचालित रूप से सभी परिवर्तनों को पूर्ववत कर देगा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3