SQLServer के साथ, ऐसा आमतौर पर स्वीकार किया जाता है कि आपके सम्मिलन के अंत में एक चयन SCOPE_IDENTITY() जोड़ना नव-सम्मिलित रिकॉर्ड के पीके को वापस करने का सबसे अच्छा तरीका है, मानते हुए कि आप एक ऑटो-वृद्धि फ़ील्ड का उपयोग कर रहे हैं पीकेसर्वोत्तम प्रथाओं: .NET: एक ओरेकल डेटाबेस के खिलाफ पीके कैसे वापस करें?
हालांकि, मुझे ओरेकल के बराबर नहीं लग रहा है।
सर्वोत्तम अभ्यास पीके उत्पन्न करने के लिए अनुक्रम का उपयोग करना प्रतीत होता है, लेकिन इसके कार्यान्वयन के लिए अलग-अलग विकल्प भी हैं। क्या आप इसे sequence.nexval डालने के लिए डेवलपर को छोड़ देते हैं, या ट्रिगर का उपयोग करते हैं?
किसी भी मामले में, नई आईडी वापस प्राप्त करना एक आम समस्या प्रतीत होता है।
सुझाव और समाधान मैं के पार चला गया है में शामिल हैं:
- एक संग्रहीत proc कि पी
- रिटर्न seq.nextval से एक का चयन आईडी चल बनाने, तो गुजर कि डालने
- का चयन करने के लिए अधिकतम (आईडी) के बाद डालने (नोट:! ऐसा मत करो)
- डालने पर वापस लौटने वाली खंड जोड़ने
क्या टी चाहिए वह इस स्थिति के लिए "सर्वोत्तम अभ्यास" समाधान हो सकता है?
अब इसे पढ़ने के लिए, लिंक मर चुका है =/ – Travis
यह ध्यान देने के लिए धन्यवाद, मैंने लिंक को और अधिक स्थिर (यदि थोड़ा कम दोस्ताना - रिटर्निंग क्लॉज पर ओरेकल दस्तावेज़) बदल दिया है – ScottCher