Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> SQL Server

SQL सर्वर में अनुक्रम

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

लेख आपको सिंटैक्स और SQL सर्वर में अनुक्रम बनाने और हटाने के उदाहरण देगा।

सीक्वेंस बनाएं (सीक्वेंस बनाएं)

सिंटैक्स

सीक्वेंस बनाने के लिए, हमारे पास निम्नलिखित सिंटैक्स है:

  CREATE SEQUENCE [schema.] Sequence_name 
[AS datatype]
[START WITH value]
[INCREMENT BY value]
[MINVALUE value | NO MINVALUE]
[MAXVALUE value | NO MAXVALUE]
[CYCLE | NO CYCLE]
[CACHE value | NO CACHE];

पैरामीटर:

  1. AS डेटाटाइप: BIGINT, INT, TINYINT, SMALLINT, DECIMAL, या NUMERIC प्रकार हो सकते हैं। यदि आप कोई विशिष्ट प्रकार निर्दिष्ट नहीं करते हैं, तो प्रोग्राम आपके डेटाटाइप के लिए BIGINT रूप में डिफ़ॉल्ट हो जाएगा।
  2. मूल्य के साथ प्रारंभ करें: वह मान जो अनुक्रम देता है।
  3. मूल्य से वृद्धि :बढ़ते / घटते क्रम के लिए नियमों का एक क्रम, जो सकारात्मक या नकारात्मक हो सकता है। यदि यहाँ मान धनात्मक है, तो अनुक्रम वृद्धिशील मानों का एक क्रम होगा। इसके विपरीत नकारात्मक है, क्रम घटेगा।
  4. MINVALUE मान :स्ट्रिंग में सबसे छोटा मान।
  5. कोई न्यूनतम मूल्य नहीं :न्यूनतम मान निर्दिष्ट न करें।
  6. MAXVALUE मान :स्ट्रिंग में अधिकतम मान।
  7. कोई MAXVALUE नहीं :अधिकतम मान निर्दिष्ट न करें।
  8. चक्र :सीक्वेंस पूरा होने पर सीक्वेंस शुरू से ही शुरू हो जाएगा।
  9. कोई साइकिल नहीं :स्ट्रिंग के अंत में अनुक्रम विफल हो जाएगा, पूरा होने पर यह फिर से शुरू नहीं होगा।
  10. कैश मान: डिस्क IO को छोटा करने के लिए कैशे (कैश) में सेव करें।
  11. कोई कैश नहीं: कैश में सेव न करें।

उदाहरण के लिए

  CREATE SEQUENCE contacts_seq 
AS BIGINT
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 99999
NO CYCLE
CACHE 10;

यहां हमने contacts_seq नाम का एक क्रम बनाया है , मान 1 से शुरू होकर, निम्न में से प्रत्येक मान एक इकाई (अर्थात 2, 3, 4।) से बढ़ता है। स्ट्रिंग लगभग 10 मानों को कैश में संग्रहीत करेगी। अनुक्रम में अधिकतम मान 99999 है और अनुक्रम के सबसे बड़े मान पर समाप्त होने के बाद यह स्ट्रिंग को पुनरारंभ नहीं करेगा।

आप उपरोक्त कमांड को निम्न प्रकार से भी निष्पादित कर सकते हैं:

  CREATE SEQUENCE contacts_seq 
START WITH 1
INCREMENT BY 1;

तो अब आपने एक अनुक्रम बना लिया है जो एक ऑटोनंबर फ़ील्ड का अनुकरण करता है। इसके बाद, इस क्रम से किसी मान को आउटपुट करने के लिए हम अगले मूल्य के लिए . का उपयोग करते हैं आदेश

  SELECT NEXT VALUE FOR contacts_seq; 

यह कथन contacts_seq. से अगला मान प्राप्त करेगा। फिर अपने निष्पादन के लिए आवश्यक आदेशों का उपयोग करें। उदाहरण के लिए:

  INSERT INTO contacts 
(contact_id, last_name)
VALUES
(NEXT VALUE FOR contacts_seq, 'Smith');

यह INSERT कथन संपर्क तालिका में एक नया रिकॉर्ड सम्मिलित करता है। contact_id फ़ील्ड को अगला नंबर contacts_seq, . से असाइन किया जाएगा last_name फ़ील्ड 'स्मिथ' होगा।

ड्रॉप सीक्वेंस (डिलीट सीक्वेंस)

एक बार अनुक्रम बन जाने के बाद, ऐसे मामले भी होंगे जहां आप कई कारणों से डेटाबेस से अनुक्रम को हटाना चाहते हैं।

सिंटैक्स

एक अनुक्रम को हटाने के लिए, हमारे पास निम्नलिखित सिंटैक्स है:

  DROP SEQUENCE sequence_name; 

पैरामीटर:

अनुक्रम_नाम: अनुक्रम का नाम जिसे आप हटाना चाहते हैं।

उदाहरण के लिए

  DROP SEQUENCE contacts_seq; 

इस कमांड को निष्पादित करके, आपने अभी-अभी contacts_seq को हटा दिया है डेटाबेस से स्ट्रिंग।

अनुक्रम गुण

अनुक्रम गुणों का परीक्षण करने के लिए, हमारे पास निम्नलिखित सिंटैक्स है:

SELECT * FROM sys.sequences WHERE name = ' sequence_name' ;

पैरामीटर:

sequence_name:The संपत्ति का परीक्षण करने के लिए स्ट्रिंग का नाम।

उदाहरण के लिए

  SELECT * 
FROM sys.sequences
WHERE name = 'contacts_seq';

यह उदाहरण sys.sequences से जानकारी के लिए पूछताछ करता है सिस्टम और contacts_seq . के लिए परिणाम पुनर्प्राप्त करता है स्ट्रिंग .

Sys.sequences सिस्टम में निम्नलिखित कॉलम शामिल हैं:

संग्रह नोट कथन में बनाए गए अनुक्रम का नाम अनुक्रम आईडी के प्रिंसिपल_आईडी ऑब्जेक्ट की सीक्वेंस ऑब्जेक्ट_आईडी आईडी बनाएं प्रिंसिपल (संख्यात्मक मान) स्कीमा_आईडी अनुक्रम की स्कीमा आईडी पैरेंट ऑब्जेक्ट प्रकार की पेरेंट_ऑब्जेक्ट_आईडी आईडी SO type_desc SEQUENCE_OBJECT create_date दिनांक / समय बनाया अनुक्रम के साथ अनुक्रम बनाएं आदेश संशोधित_डेट दिनांक / अंतिम संशोधन अनुक्रम का समय is_ms_shipped मान 0 या 1 is_published मान 0 या 1 is_schema_published मान 0 या 1 start_value अनुक्रम वृद्धि का प्रारंभ मान अनुक्रम वृद्धि का नियम मान न्यूनतम_मान स्ट्रिंग में न्यूनतम मान अधिकतम_मान अधिकतम मान is_cycling स्ट्रिंग मान में अधिकतम मान 0 या 1. 0 =NO CYCLE, 1 =CYCLE is_cached Value 0 या 1, 0 =NO CACHE, 1 =CACHE cache_size मेमोरी साइज बफर जब is_cached =1 system_type_id अनुक्रम की आईडी सिस्टम user_type_id आईडी अनुक्रम सटीक उपयोगकर्ता पर चिंता डेटा के लिए अधिकतम सटीकता अनुक्रम के अनुक्रम के लिए अधिकतम श्रेणी पैमाने का प्रकार current_value अनुक्रम से प्राप्त अंतिम मान is_exhausted मान 0 या 1. 0 =क्रम में एकाधिक मान। 1 =कोई मान नहीं

 


  1. SQL सर्वर में IS NULL स्थिति है

    SQL Server (Transact-SQL) में, IS NULL स्थिति का उपयोग NULL मान की जांच के लिए किया जाता है। किसी तालिका में एक NULL मान एक खाली फ़ील्ड में एक मान है, दूसरे शब्दों में, एक फ़ील्ड जिसका कोई मान नहीं है। वाक्यविन्यास की स्थिति शून्य है IS NULL expression परिवर्तनीय नाम या चर मान अभिव्यक्ति मान यह

  1. SQL सर्वर में पूर्ण स्थिति नहीं है

    यह SQL सर्वर ट्यूटोरियल विशिष्ट सिंटैक्स और उदाहरणों के साथ IS NOT NULL कंडीशन का उपयोग करने का तरीका दिखाता है। SQL सर्वर में IS NOT NULL कंडीशन का उपयोग यह जांचने के लिए किया जाता है कि क्या मान NULL नहीं है। किसी तालिका में एक NULL मान एक खाली फ़ील्ड में एक मान है, दूसरे शब्दों में, एक फ़ील्ड जिस

  1. एमएस एसक्यूएल सर्वर क्या है?

    एसक्यूएल सर्वर क्या है? आरडीबीएमएस पर आधारित माइक्रोसॉफ्ट द्वारा विकसित सॉफ्टवेयर। एक ORDBMS (ऑब्जेक्ट रिलेशनल डेटाबेस मैनेजमेंट सिस्टम) भी है। एक स्वतंत्र मंच। सॉफ्टवेयर कमांड लाइन इंटरफेस और जीयूआई इंटरफेस दोनों का उपयोग करता है। SQL भाषा समर्थन (पूर्व में SEQUEL - संरचित अंग्रेजी क्वेरी भाषा) -