SAP हाना ट्यूटोरियल: अनुक्रम बनाएँ

Anonim

अनुक्रम क्या है?

अनुक्रम एक डेटाबेस ऑब्जेक्ट है जो स्वचालित रूप से अनुक्रम विनिर्देश में निर्दिष्ट नियम के अनुसार संख्यात्मक मूल्यों की वृद्धि की सूची बनाता है।

उदाहरण के लिए तालिका में कॉलम (EMPLOYEE_NO) में कर्मचारी संख्या स्वचालित रूप से सम्मिलित करने के लिए, जब तालिका में एक नया रिकॉर्ड डाला जाता है, तो हम अनुक्रम का उपयोग करते हैं।

अनुक्रम मान आरोही या अवरोही क्रम में उत्पन्न होते हैं।

अनुक्रम तालिकाओं से जुड़े नहीं हैं; उनका उपयोग एप्लिकेशन द्वारा किया जाता है। अनुक्रम में दो मूल्य हैं -

  • CURRVAL - अनुक्रम का वर्तमान मूल्य प्रदान करें।
  • NEXTVAL - अनुक्रम का अगला मूल्य प्रदान करें।

वाक्य - विन्यास

सृजन को <अनुक्रम_नाम> [<क्रम_परिवार_सूची>] [द्वारा प्राप्त करें <उपसमुच्चय>]

SYNTAX तत्व

तत्वों विवरण
<क्रम_नाम> यह अनुक्रम का नाम है।
[<क्रम_परिवार_सूची>] यह एक या एक से अधिक अनुक्रम पैरामीटर निर्दिष्ट करता है।
के साथ START करें यह प्रारंभिक अनुक्रम मूल्य का वर्णन करता है।
INCREMENT BY जब नया अनुक्रम मान जनरेट किया जाता है, तो हर बार निर्दिष्ट अंतिम मान से बढ़ा हुआ मान निर्दिष्ट करता है। डिफ़ॉल्ट 1 है।
MAXVALUE यह अधिकतम मूल्य निर्दिष्ट करता है, जिसे अनुक्रम द्वारा उत्पन्न किया जा सकता है। -4611686018427387903 और 4611686018427390902 के बीच हो सकता है।
कोई अधिकतम नहीं जब कोई MAXVALUE निर्दिष्ट नहीं होता है, तो आरोही क्रम के लिए, अधिकतम मान 4611686018427387903 होगा और अवरोही क्रम के लिए न्यूनतम मान -1 होगा।
न्यूनतम / NO MINVALUE यह न्यूनतम मूल्य निर्दिष्ट करता है जो एक अनुक्रम उत्पन्न कर सकता है। -4611686018427387904 और 4611686018427387902 के बीच हो सकता है। जब कोई न्यूनतम उपयोग नहीं किया जाता है, तो आरोही क्रम के लिए न्यूनतम मान 1 है
चक्र CYCLE निर्देश निर्दिष्ट करता है कि अनुक्रम संख्या फिर से शुरू हो जाएगी जब वह अपने अधिकतम या न्यूनतम मूल्य तक पहुंच जाएगा।
कोई CYCLE डिफ़ॉल्ट विकल्प। कोई CYCLE निर्देश निर्दिष्ट करता है कि अनुक्रम संख्या को पुनः आरंभ नहीं किया जाएगा क्योंकि यह इसके अधिकतम या न्यूनतम मूल्य तक पहुंच जाता है।
CACHE / कैश आकार निर्दिष्ट करता है कि अनुक्रम संख्या की कौन सी श्रेणी नोड में कैश की जाएगी। अहस्ताक्षरित पूर्णांक होना चाहिए।
सं CACHE डिफ़ॉल्ट विकल्प। कोई CACHE निर्देश निर्दिष्ट करता है कि अनुक्रम संख्या को नोड में कैश नहीं किया जाएगा।
RESET BY <सबक्वेरी> यह निर्दिष्ट करता है कि डेटाबेस के पुनरारंभ के दौरान, डेटाबेस स्वचालित रूप से <सबक्वेरी> को निष्पादित करता है और अनुक्रम मान को लौटाए गए मान के साथ पुनरारंभ किया जाता है।

उदाहरण -

हम DHK_SCHEMA.EMP_NO नाम से एक सीक्वेंस बनाएंगे, जो अनुक्रम का उपयोग किए जाने पर हर बार +1 द्वारा अनुक्रम का वर्धित मान बनाएगा।

अनुक्रम स्क्रिप्ट -

1 से 100 इन्क्रिमेंट के साथ SEQUENCE DHK_SCHEMA.EMP_NO START बनाएं। 

नीचे दिए गए क्वेरी के निष्पादित होने पर हर बार +1 के द्वारा कर्मचारी के मूल्य को बढ़ाने के लिए हम नीचे दिए गए उदाहरण में ऑब्जेक्ट "अनुक्रम" का उपयोग करेंगे। क्वेरी में, "अगलावल" का उपयोग सीरियल नंबर जेनरेशन या उसी प्रकार की आवश्यकता के लिए किया जा सकता है।

अनुक्रम का उपयोग -

DUMMY से DHK_SCHEMA.EMP_NO.nextval का चयन करें;

OUTPUT - 100,101,102

... तो उपरोक्त चयन क्वेरी के प्रत्येक निष्पादन पर।