सेवपॉइंट वह नहीं करेंगे जो आप चाहते हैं। जब आप किसी सेवपॉइंट पर वापस रोल करते हैं, तो उस सेवपॉइंट के बाद की सभी चीज़ें वापस लुढ़क जाती हैं, भले ही बाद में सेवपॉइंट बनाए गए हों।
"स्टैक" की तरह सेवपॉइंट्स के बारे में सोचें। आप स्टैक के बीच से कुछ नहीं खींच सकते, आपको अपनी इच्छित परत तक सब कुछ हटाना होगा।
आप शायद स्वायत्त लेनदेन की तलाश में हैं। आप जिन डेटाबेस का उपयोग करना चाहते हैं उनमें से कोई भी उनका समर्थन नहीं करता है। PostgreSQL में आप डेटाबेस से नया कनेक्शन बनाने और इसके साथ काम करने के लिए dblink मॉड्यूल का उपयोग करके इसके आसपास काम कर सकते हैं; देखें http://www.postgresql.org/docs/current/static/ dblink.html . मुझे नहीं पता कि MySQL या SQLite कौन से समाधान पेश करते हैं, लेकिन Google अब आपकी मदद करेगा कि आप जिस शब्द की तलाश कर रहे हैं उसे जान लें।
मेरा सुझाव है कि यदि संभव हो तो आप इस एप्लिकेशन डिज़ाइन आवश्यकता के आसपास काम करने का एक तरीका खोज लें। अपने एप्लिकेशन को दो डेटाबेस कनेक्शन और दो लेन-देन का उपयोग करने के लिए कहें जो आपको चाहिए, दोनों को आवश्यकतानुसार समन्वयित करने का ख्याल रखना।