प्रैक्टिकल उदाहरणों द्वारा Oracle आल्टर सीक्वेंस

Praiktikala Udaharanom Dvara Oracle Altara Sikvensa



ओरेकल में, एक अनुक्रम एक डेटाबेस ऑब्जेक्ट है जो पूर्णांक की एक अनूठी श्रृंखला उत्पन्न करता है जिसे प्राथमिक कुंजी के रूप में या किसी अन्य उद्देश्य के लिए उपयोग किया जा सकता है जहां एक अद्वितीय संख्या की आवश्यकता होती है। ALTER SEQUENCE Oracle का एक शक्तिशाली उपकरण है जो आपको डेटाबेस में एक अनुक्रम की विशेषताओं को संशोधित करने की अनुमति देता है। ALTER SEQUENCE कमांड पहली बार में कठिन लग सकता है लेकिन व्यावहारिक उदाहरण आपको इसकी पूरी क्षमता को समझने और उपयोग करने में मदद कर सकते हैं।

यह मार्गदर्शिका निम्नलिखित उदाहरणों को शामिल करेगी:

अनुक्रम मान को रीसेट करें

अनुक्रम मान को रीसेट करने के लिए या अनुक्रम मान को उसके प्रारंभिक मान से पुनः आरंभ करने के लिए ' वैकल्पिक क्रम 'के साथ कमांड' पुनः आरंभ करें 'उपवाक्य का प्रयोग किया जा सकता है। उदाहरण नीचे दिया गया है:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

उपरोक्त आदेश में, ' LINUXHINT_SEQ 'अनुक्रम नाम का प्रतिनिधित्व करता है।



उत्पादन



आउटपुट दिखाता है कि अनुक्रम रीसेट कर दिया गया है।





अनुक्रम के न्यूनतम मान बदलें

जब Oracle में एक अनुक्रम बनाया जाता है, तो डिफ़ॉल्ट रूप से इसका न्यूनतम मान 1 पर सेट होता है। वैकल्पिक क्रम 'के साथ कमांड' न्यूनतम ” खंड का उपयोग अनुक्रम के न्यूनतम मूल्य को बदलने के लिए किया जा सकता है। उदाहरण नीचे दिया गया है:

वैकल्पिक अनुक्रम LINUXHINT_SEQ MINVALUE -1;

इस उदाहरण में, नया न्यूनतम मान है -1 .



उत्पादन

आउटपुट ने दिखाया कि न्यूनतम मान बदल दिया गया है।

अनुक्रम के अधिकतम मान बदलें

डिफ़ॉल्ट रूप से, ओरेकल अनुक्रम का अधिकतम मूल्य '10 ^ 27 - 1' है, जो कि 38-अंकीय दशमलव संख्या के लिए सबसे बड़ा संभव मान है। अधिकतम अनुक्रम मान बदलने के लिए, ' वैकल्पिक क्रम 'के साथ कमांड' अधिकतम मूल्य 'उपवाक्य का प्रयोग किया जा सकता है। उदाहरण नीचे दिया गया है:

वैकल्पिक अनुक्रम LINUXHINT_SEQ MAXVALUE 1000;

उपरोक्त उदाहरण में, नया अधिकतम मान होगा 1000 .

उत्पादन

स्क्रीनशॉट में देखा जा सकता है कि अधिकतम मान बदल दिया गया है।

टिप्पणी : उपरोक्त उदाहरण में, अनुक्रम 1000 तक पहुँचने के बाद मान उत्पन्न करना बंद कर देगा, और उस बिंदु से परे मान उत्पन्न करने के किसी भी प्रयास के परिणामस्वरूप त्रुटि होगी।

अनुक्रम का कैशिंग आकार बदलें

कैश आकार अनुक्रम संख्याओं की संख्या तय करता है जो पूर्व-आवंटित हैं और तेजी से पहुंच के लिए स्मृति में संग्रहीत हैं। अनुक्रम का कैश आकार बदलने के लिए, 'का उपयोग करें' कैश 'के साथ खंड' वैकल्पिक क्रम ' आज्ञा। एक उदाहरण नीचे दिया गया है:

वैकल्पिक अनुक्रम LINUXHINT_SEQ कैश 50;

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

उत्पादन

आउटपुट दर्शाता है कि कैश आकार बदल दिया गया है।

कैश अनुक्रम का आकार और क्रम सेट करें

अनुक्रम कैश आकार सेट करने और क्रम में अनुक्रम संख्या उत्पन्न करने के लिए, 'का उपयोग करें' आदेश ' और ' कैश 'के साथ खंड' वैकल्पिक क्रम ' आज्ञा। यहाँ एक उदाहरण है:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ऑर्डर;

इस उदाहरण में, नया कैश आकार मान होगा 100 .

उत्पादन

आउटपुट प्रदर्शित करता है कि अनुक्रम में परिवर्तन किए गए हैं।

अवरोही मान उत्पन्न करने के लिए अनुक्रम सेट करें

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

अवरोही मान उत्पन्न करने के लिए अनुक्रम सेट करने के लिए, 'का उपयोग करें द्वारा वृद्धि ' साथ ' वैकल्पिक क्रम ” आदेश दें और मान को -1 पर सेट करें। उदाहरण नीचे दिया गया है:

वैकल्पिक अनुक्रम LINUXHINT_SEQ -1 से वृद्धि;

इस उदाहरण में, मान है -1 , जिसका अर्थ है कि प्रत्येक बार अनुक्रम को कॉल किया जाता है, अनुक्रम में पिछली संख्या लौटा दी जाती है।

उत्पादन

आउटपुट दर्शाता है कि अवरोही मान उत्पन्न करने के लिए अनुक्रम सेट किया गया है।

अनुक्रम का वृद्धि मान बदलें

अनुक्रम के वृद्धि मूल्य को बदलने के लिए, 'का उपयोग करें' द्वारा वृद्धि ' साथ ' वैकल्पिक क्रम ” कमांड करें और उसके अनुसार वैल्यू सेट करें। उदाहरण नीचे दिया गया है:

अनुक्रम LINUXHINT_SEQ में 2 से वृद्धि;

इस उदाहरण में, मान है 2 , जिसका अर्थ है कि हर बार अनुक्रम को कॉल करने पर, अनुक्रम में अगली संख्या 2 से बढ़ जाएगी।

उत्पादन

आउटपुट प्रदर्शित करता है कि अनुक्रम तदनुसार बदल दिया गया है।

साइकिल विकल्प को सक्षम करने के लिए क्रम बदलें

जब एक अनुक्रम के लिए चक्र विकल्प सक्षम किया जाता है, तो अनुक्रम लपेटा जाएगा और अधिकतम मान (MAXVALUE) तक पहुंचने के बाद शुरुआत (MINVALUE) से फिर से शुरू होगा। इस विकल्प को सक्षम करने के लिए, 'का उपयोग करें। चक्र 'के साथ खंड' वैकल्पिक क्रम ' आज्ञा। उदाहरण नीचे दिया गया है:

अनुक्रम LINUXHINT_SEQ चक्र बदलें;

उत्पादन

चक्र विकल्प प्रदर्शित आउटपुट सक्षम किया गया है।

साइकिल को निष्क्रिय करने के लिए अनुक्रम बदलें

जब एक अनुक्रम के लिए चक्र विकल्प अक्षम किया जाता है, तो अनुक्रम अपने अधिकतम मूल्य (MAXVALUE) या न्यूनतम मूल्य (MINVALUE) तक पहुंचने के बाद, उत्पादन के क्रम के आधार पर मूल्यों को उत्पन्न करना बंद कर देगा। इस विकल्प को अक्षम करने के लिए, 'ALTER SEQUENCE' कमांड के साथ 'NOCYCLE' क्लॉज का उपयोग करें। उदाहरण नीचे दिया गया है:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

उत्पादन

आउटपुट ने दिखाया कि साइकिल विकल्प को अक्षम कर दिया गया है।

एकाधिक विकल्पों को संशोधित करने के लिए क्रम बदलें

अनुक्रम को -1 से ऋणात्मक वृद्धि, 10 के अधिकतम मान और एक चक्र विकल्प सक्षम करने के लिए सेट करने के लिए दिए गए आदेश को टाइप करें:

ALTER अनुक्रम LINUXHINT_SEQ वृद्धि -1 MAXVALUE 10 चक्र;

उत्पादन

आउटपुट ने दिखाया कि अनुक्रम में परिवर्तन सफलतापूर्वक किए गए थे।

निष्कर्ष

ओरेकल में, ' वैकल्पिक क्रम 'कमांड आपको अनुक्रम मान को रीसेट करके, न्यूनतम और अधिकतम मान, वेतन वृद्धि मूल्य, कैशिंग आकार, आदेश देने और चक्र विकल्प को सक्षम या अक्षम करके अनुक्रम की विशेषताओं को बदलने की अनुमति देता है। ये परिवर्तन कई प्रकार की परिस्थितियों में सहायक होते हैं, जैसे जब आपको किसी अनुक्रम के आरंभिक मान को बदलने या बेहतर प्रदर्शन के लिए कैशिंग आकार को समायोजित करने की आवश्यकता होती है। इस पोस्ट में ALTER SEQUENCE कमांड के विभिन्न उपयोग मामलों को व्यावहारिक उदाहरणों का उपयोग करते हुए समझाया गया है।