चूंकि आप एक वितरित लेनदेन करना चाहते हैं , आपको दो-चरण प्रतिबद्ध प्रोटोकॉल . की आवश्यकता है ।
आप हमेशा की तरह दोनों डेटाबेस पर लेन-देन शुरू करते हैं, लेकिन उन्हें करने के बजाय, आप चलाते हैं
PREPARE TRANSACTION 'some_name';
यह सब कुछ करता है जो एक प्रतिबद्धता के दौरान विफल हो सकता है और लेनदेन को जारी रखता है। एक बार यह सफल हो जाने के बाद, आप दोनों डेटाबेस पर निम्नलिखित चलाएँ:
COMMIT PREPARED 'some_name';
लेन-देन करने के लिए।
अगर PREPARE TRANSACTION
के दौरान कुछ भी विफल हो जाता है , आप पहले से तैयार लेनदेन से छुटकारा पाने के लिए निम्नलिखित चलाते हैं:
ROLLBACK PREPARED 'some_name';
ध्यान दें कि आपको जरूरत यदि आप तैयार लेनदेन का उपयोग करते हैं, तो ट्रांसएक्रिन मैनेजर सॉफ्टवेयर, ताकि दुर्घटना या अन्य अप्रत्याशित समस्या के बाद छोड़े गए किसी भी तैयार लेनदेन को विश्वसनीय रूप से साफ किया जा सके। तैयार किए गए लेन-देन जो प्रतिबद्ध नहीं हैं या वापस नहीं किए गए हैं वे हमेशा के लिए बने रहेंगे और निश्चित रूप से आपके डेटाबेस को तोड़ देंगे।