मैं स्क्रिप्ट पर काम कर रहा हूं जो डेटाबेस स्कीमा अपडेट लागू करता है। मैंने प्रारंभ लेनदेन/प्रतिबद्धता का उपयोग कर अपनी सभी SQL अद्यतन स्क्रिप्ट सेट की हैं। मैं इन स्क्रिप्ट को कमांड लाइन पर psql पर पास करता हूं।postgresql 8.2 में नेस्टेड लेनदेन?
अब मुझे एक ही समय में और एक लेनदेन में कई स्क्रिप्ट लागू करने की आवश्यकता है। अब तक का एकमात्र समाधान है जो स्क्रिप्ट के मूल सेट से प्रारंभ लेनदेन/प्रतिबद्धता को हटाने के लिए है, फिर उन्हें एक नए प्रारंभ लेनदेन/प्रतिबद्ध ब्लॉक के अंदर एक साथ जाम करें। मैं फ्लाई पर ऐसा करने के लिए पर्ल स्क्रिप्ट लिख रहा हूं।
प्रभावी रूप से मुझे नेस्टेड लेनदेन चाहिए, जो मैं नहीं जानता कि postgresql में कैसे करना है।
क्या इस उद्देश्य के लिए नेस्टेड लेनदेन करने या अनुकरण करने का कोई तरीका है? मेरे पास किसी भी त्रुटि पर स्वचालित रूप से जमानत करने के लिए चीजें सेट हैं, इसलिए यदि निम्न में से कोई भी विफल रहता है तो मुझे शीर्ष स्तर के लेन-देन में जारी रखने की आवश्यकता नहीं है।
इस मामले में सेवपॉइंट्स का उपयोग करने के लिए, मुझे अपनी मौजूदा स्क्रिप्ट को संशोधित करना होगा और वे कैसे चलेंगे। इस विशेष मामले में, यदि ऐसा करने जा रहा था, तो मैं अपनी सभी स्क्रिप्ट से प्रारंभ/अंत लेनदेन ब्लॉक को हटा दूंगा और इसे अलग-अलग जोड़ दूंगा, जिससे इसे कई बार करना आसान हो जाता है। धन्यवाद! –