SAP HANA ट्यूटोरियल: अनुक्रम बनाएँ
अनुक्रम क्या है?
अनुक्रम एक डेटाबेस ऑब्जेक्ट है जो अनुक्रम विनिर्देश में निर्दिष्ट नियम के अनुसार स्वचालित रूप से संख्यात्मक मानों की बढ़ी हुई सूची उत्पन्न करता है।
उदाहरण के लिए, तालिका के कॉलम (EMPLOYEE_NO) में कर्मचारी संख्या स्वचालित रूप से डालने के लिए, जब तालिका में एक नया रिकॉर्ड डाला जाता है, तो हम अनुक्रम का उपयोग करते हैं।
अनुक्रम मान आरोही या अवरोही क्रम में उत्पन्न होते हैं।
अनुक्रम तालिकाओं से जुड़े नहीं होते हैं; उनका उपयोग एप्लिकेशन द्वारा किया जाता है। अनुक्रम में दो मान होते हैं –
- CURRVAL - अनुक्रम का वर्तमान मान प्रदान करें।
- NEXTVAL – अनुक्रम का अगला मान प्रदान करें.
वाक्य - विन्यास
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
वाक्यविन्यास तत्व
तत्व | वर्णन |
---|---|
यह अनुक्रम का नाम है। | |
[ ] | यह एक या अधिक अनुक्रम पैरामीटर निर्दिष्ट करता है। |
के साथ शुरू | यह प्रारंभिक अनुक्रम मान का वर्णन करता है। |
वृद्धि द्वारा | यह प्रत्येक बार नया अनुक्रम मान उत्पन्न होने पर निर्दिष्ट अंतिम मान से बढ़ाए जाने वाले मान को निर्दिष्ट करता है। डिफ़ॉल्ट 1 है। |
अधिकतम मूल्य | यह अधिकतम मान निर्दिष्ट करता है, जो अनुक्रम द्वारा उत्पन्न किया जा सकता है। -4611686018427387903 और 4611686018427387902 के बीच हो सकता है। |
कोई अधिकतम मूल्य नहीं | जब NO MAXVALUE निर्दिष्ट किया जाता है, तो आरोही अनुक्रम के लिए अधिकतम मान 4611686018427387903 होगा और अवरोही अनुक्रम के लिए न्यूनतम मान -1 होगा। |
न्यूनतम मूल्य / कोई न्यूनतम मूल्य नहीं | यह न्यूनतम मान निर्दिष्ट करता है जो एक अनुक्रम उत्पन्न कर सकता है। -4611686018427387904 और 4611686018427387902 के बीच हो सकता है। जब NO MINVALUE का उपयोग किया जाता है, तो आरोही अनुक्रम के लिए न्यूनतम मान 1 होता है |
चक्र | CYCLE निर्देश निर्दिष्ट करता है कि अनुक्रम संख्या अपने अधिकतम या न्यूनतम मान पर पहुंचने के बाद पुनः प्रारंभ हो जाएगी। |
कोई चक्र नहीं | डिफ़ॉल्ट विकल्प.NO CYCLE निर्देश निर्दिष्ट करता है कि अनुक्रम संख्या अपने अधिकतम या न्यूनतम मान पर पहुंचने के बाद पुनः आरंभ नहीं होगी। |
कैश / | कैश आकार निर्दिष्ट करता है कि किसी नोड में अनुक्रम संख्याओं की कौन सी श्रेणी कैश की जाएगी। अहस्ताक्षरित पूर्णांक होना चाहिए. |
कोई कैश नहीं | डिफ़ॉल्ट विकल्प. NO CACHE निर्देश निर्दिष्ट करता है कि अनुक्रम संख्या नोड में कैश नहीं की जाएगी. |
रीसेट करें | यह निर्दिष्ट करता है कि डेटाबेस के पुनः आरंभ के दौरान, डेटाबेस स्वचालित रूप से निष्पादित करता है और अनुक्रम मान को लौटाए गए मान के साथ पुनः आरंभ किया जाता है। |
उदाहरण -
हम DHK_SCHEMA.EMP_NO नामक एक अनुक्रम बनाएंगे, जो अनुक्रम का उपयोग किए जाने पर प्रत्येक बार +1 से अनुक्रम का वृद्धिशील मान बनाएगा।
अनुक्रम स्क्रिप्ट –
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
यहाँ हम नीचे दिए गए उदाहरण में ऑब्जेक्ट “सीक्वेंस” का उपयोग करके कर्मचारी संख्या के मान को हर बार +1 से बढ़ाएँगे जब चयन क्वेरी निष्पादित की जाएगी। क्वेरी में, “नेक्स्टवैल” का उपयोग सीरियल नंबर जेनरेशन या उसी प्रकार की आवश्यकता के लिए किया जा सकता है।
अनुक्रम का उपयोग –
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
आउटपुट – 100,101,102 ……….. अतः उपरोक्त चयन क्वेरी के प्रत्येक निष्पादन पर।