"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > PostgreSQL में गैप-फ्री यूनिक इनवॉइस नंबर कैसे जेनरेट करें?

PostgreSQL में गैप-फ्री यूनिक इनवॉइस नंबर कैसे जेनरेट करें?

2024-12-21 को प्रकाशित
ब्राउज़ करें:153

How to Generate Gap-Free Unique Invoice Numbers in PostgreSQL?

PostgreSQL में अंतराल के बिना अद्वितीय इनवॉइस नंबर जनरेशन

इनवॉइस नंबर जैसे विशिष्ट पहचानकर्ताओं की आवश्यकता वाले सिस्टम के साथ काम करते समय, यह सुनिश्चित करना आवश्यक है वे बिना किसी अंतराल के लगातार उत्पन्न होते हैं। हालाँकि, क्रमबद्धता जैसे अलगाव स्तरों वाले प्रश्नों जैसे पारंपरिक तरीकों का उपयोग करना पर्याप्त नहीं हो सकता है।

पोस्टग्रेएसक्यूएल में अनुक्रम अंतराल-मुक्त संख्याओं की गारंटी नहीं देते हैं, क्योंकि रोलबैक या त्रुटि अनुक्रम मान का उपभोग कर सकती है। तो, हम इस चुनौती को कैसे संबोधित कर सकते हैं? ]

श्रृंखला में कोई अंतराल नहीं लागू करना

संख्या तक पहुंचने वाली एकाधिक प्रक्रियाएं पीढ़ी

इकाई निर्माण के समय उत्पन्न होने वाली संख्याएं

  • संभावित समाधान
  • अंतर स्वीकार्य श्रृंखला:
यदि अंतराल की अनुमति है, तो ओरेकल का अनुक्रम ऑब्जेक्ट एक उच्च प्रदर्शन वाला समाधान है जो प्रक्रिया के परिणामस्वरूप होने वाले अंतराल को कम करता है विफलताएँ।

अनुक्रमिक सम्मिलन के साथ बैच जनरेशन:

एकल-प्रक्रिया चालान पीढ़ी के लिए, वर्तमान अधिकतम चालान संख्या को पढ़ना और अस्थायी रूप से डाले जा रहे चालान के बैच को क्रमिक रूप से संख्या निर्दिष्ट करना संभव है तालिका।
  • संख्याओं की पोस्ट-जनरेशन: यदि तत्काल पीढ़ी की आवश्यकता नहीं है, तो इकाई के बाद संख्याएं उत्पन्न की जा सकती हैं बैच जॉब अपडेट या एक अलग टेबल इंसर्ट द्वारा निर्माण और लेनदेन प्रतिबद्धता। कई प्रक्रियाओं में अंतराल को रोकने के लिए सावधानीपूर्वक क्रमांकन की आवश्यकता होती है:
  • वर्तमान मूल्यों को संग्रहीत करने के लिए एक के बजाय एक समर्पित तालिका का उपयोग करें क्रम।
  • सभी प्रक्रियाओं द्वारा पहुंच योग्य फ़ंक्शन या प्रक्रिया में संख्या पीढ़ी को समाहित करें।
  • प्रत्येक श्रृंखला के लिए DBMS_Lock के साथ संख्या जनरेटर तक पहुंच को क्रमबद्ध करें।
  • लेनदेन तक लॉक को दबाए रखें पूरा कर रहा हूं, इसे कमिट पर जारी कर रहा हूं। और अप्रयुक्त नंबरों को पूल में वापस करने के लिए प्रतिउपाय।

ट्रिगर, या एपीआई कॉल में एनकैप्सुलेशन का अन्वेषण करें जो स्वचालित रूप से पंक्तियों को सम्मिलित और प्रतिबद्ध करते हैं।

निष्कर्ष

  • अंतराल मुक्त अद्वितीय आईडी श्रृंखला उत्पन्न करना हमेशा आसान नहीं होता है, लेकिन संख्या निर्माण के सिद्धांतों को समझने और अंतराल को कम करने और क्रमबद्ध करने वाली तकनीकों को लागू करने से यह संभव है संख्या जनरेटर तक प्रभावी ढंग से पहुंच।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3