MS SQL सर्वर SEQUENCEs में Oracle जैसा ORDER पैरामीटर क्यों नहीं है?


9

में के प्रलेखन CREATE SEQUENCET-SQL के लिए , आप देख सकते हैं कि CREATE SEQUENCEआदेश का कोई है ORDERपैरामीटर।

तुलना के लिए, Oracle डॉक्सCREATE SEQUENCEORDER / NOORDERविकल्प दिखाने के लिए :

ORDER

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

ORDERयदि आप असली एप्लिकेशन क्लस्टर के साथ Oracle डेटाबेस का उपयोग कर रहे हैं तो केवल आदेशित पीढ़ी की गारंटी देना आवश्यक है। यदि आप अनन्य मोड का उपयोग कर रहे हैं, तो क्रम संख्या हमेशा क्रम में उत्पन्न होती है।

NOORDER

निर्दिष्ट करें NOORDERकि क्या आप गारंटी नहीं देना चाहते हैं अनुरोध के क्रम में अनुक्रम संख्या उत्पन्न होती है। यह डिफ़ॉल्ट है।

Microsoft SQL सर्वर s के लिए एक मजबूत ऑर्डरिंग अवरोध प्रदान करता है SEQUENCE? या Microsoft इसे सामान्य रूप से महत्वपूर्ण नहीं मानता है?


2
ओरेकल के साथ यह आम तौर पर केवल एक आरएसी के साथ समझ में आता है - जहां तक ​​मुझे पता है कि एसक्यूएल सर्वर में आरएसी के बराबर कुछ भी नहीं है। आपको क्यों लगता है कि आपको इसकी आवश्यकता है?
a_horse_with_no_name

मैं सिर्फ SQL सर्वर के साथ संगत प्रोग्राम बना रहा हूं। यह कुछ अनुक्रम बनाता है, और CREATE SEQUENCEबयानों में, मैं ORDER पैरामीटर में भाग गया, और मैं सिर्फ यह सुनिश्चित करना चाहता था कि यह कोई समस्या नहीं होगी (मैं बिल्कुल अनिश्चित ORDERहूं कि पहले स्थान पर क्यों जोड़ा गया था इसलिए मैंने सोचा था कि मैं बस मामले में पूछ सकते हैं)।
डैनियल ग्रे

जवाबों:


12

SQL सर्वर में सभी अनुक्रम संख्या एक ही उदाहरण पर उत्पन्न होते हैं, इसलिए वे पहले से ही स्वाभाविक रूप से आदेशित हैं। और अगर आप उन्हें यूनिक नंबर के रूप में इस्तेमाल कर रहे हैं तो यह वास्तव में वैसे भी नहीं होना चाहिए।

Oracle कार्यान्वयन अलग है क्योंकि एक RAC वातावरण (सभी Oracle कार्यान्वयन नहीं), दो अनुक्रम संख्या दो अलग-अलग "इंस्टेंस" द्वारा उत्पन्न की जा सकती हैं (यह ओरेकल के लिए गलत शब्द है लेकिन SQL सर्वर में केवल समतुल्य ड्राइंग है)। आम तौर पर आप परवाह नहीं करेंगे अगर पहले अनुरोध किया गया एक धीमा था और बाद में अनुरोध किए गए एक से अधिक संख्या मिली - जब तक कि ओरेकल डॉक्स का कहना है, आप टाइमस्टैम्प के रूप में अनुक्रमों का उपयोग कर रहे थे वास्तव में मूल अनुरोध के आदेश को प्रतिबिंबित करने के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.