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

SQL Server में SEQUENCE (सीक्वेंस)

विवरण

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

यह लेख आपको SQL Server में सीक्वेंस बनाने और हटाने के सिंटैक्स और उदाहरण देता है।

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

सिंटैक्स

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

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 datatype: BIGINT, INT, TINYINT, SMALLINT, DECIMAL, या NUMERIC प्रकार हो सकते हैं। यदि आप कोई विशिष्ट प्रकार निर्दिष्ट नहीं करते हैं, तो प्रोग्राम डिफ़ॉल्ट रूप से आपके डेटाटाइप को BIGINT रूप में लेगा।
  2. START WITH value: वह मान जो सीक्वेंस लौटाता है।
  3. INCREMENT BY value: सीक्वेंस के बढ़ने/घटने का नियम, जो पॉजिटिव या नेगेटिव हो सकता है। यदि यहां मान पॉजिटिव है, तो सीक्वेंस इन्क्रीमेंटल मानों का अनुक्रम होगा। विपरीत नेगेटिव है, तो सीक्वेंस घटेगा।
  4. MINVALUE value: स्ट्रिंग में सबसे छोटा मान।
  5. NO MINVALUE: न्यूनतम मान निर्दिष्ट न करें।
  6. MAXVALUE value: स्ट्रिंग में अधिकतम मान।
  7. NO MAXVALUE: अधिकतम मान निर्दिष्ट न करें।
  8. CYCLE: सीक्वेंस पूरा होने पर शुरुआत से शुरू होगा।
  9. NO CYCLE: सीक्वेंस स्ट्रिंग के अंत में विफल हो जाएगा, पूरा होने पर फिर से शुरू नहीं होगा।
  10. CACHE value: डिस्क IO को कम करने के लिए कैश में सेव करें।
  11. NO CACHE: कैश में सेव न करें।

उदाहरण

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;

तो अब आपने एक ऑटोनंबर फील्ड का अनुकरण करने वाला सीक्वेंस बनाया है। अगला, इस सीक्वेंस से एक मान आउटपुट करने के लिए हम NEXT VALUE FOR कमांड का उपयोग करते हैं:

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 फील्ड 'Smith' होगा।

DROP SEQUENCE (सीक्वेंस हटाएं)

एक बार सीक्वेंस बन जाने के बाद, कई कारणों से आप डेटाबेस से सीक्वेंस को हटाना चाह सकते हैं।

सिंटैक्स

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

DROP SEQUENCE sequence_name;

पैरामीटर्स:

sequence_name: वह सीक्वेंस नाम जिसे आप हटाना चाहते हैं।

उदाहरण

DROP SEQUENCE contacts_seq;

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

सीक्वेंस गुण

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

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

पैरामीटर्स:

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

उदाहरण

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

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

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

कॉलमनोट
nameCREATE SEQUENCE स्टेटमेंट में बनाया गया सीक्वेंस नाम
object_idऑब्जेक्ट का ID
principal_idसीक्वेंस का प्रिंसिपल ID (संख्यात्मक मान)
schema_idसीक्वेंस का स्कीमा ID
parent_object_idपैरेंट ऑब्जेक्ट का ID
typeSO
type_descSEQUENCE_OBJECT
create_dateCREATE SEQUENCE कमांड के साथ सीक्वेंस बनाने की दिनांक/समय
modify_dateसीक्वेंस के अंतिम संशोधन की दिनांक/समय
is_ms_shippedमान 0 या 1
is_publishedमान 0 या 1
is_schema_publishedमान 0 या 1
start_valueसीक्वेंस का प्रारंभिक मान
incrementसीक्वेंस के बढ़ने/घटने का नियम मान
minimum_valueस्ट्रिंग में न्यूनतम मान
maximum_valueस्ट्रिंग में अधिकतम मान
is_cyclingमान 0 या 1. 0 = NO CYCLE, 1 = CYCLE
is_cachedमान 0 या 1, 0 = NO CACHE, 1 = CACHE
cache_sizeis_cached = 1 होने पर मेमोरी बफर आकार
system_type_idसीक्वेंस का सिस्टम प्रकार ID
user_type_idसीक्वेंस का यूजर प्रकार ID
precisionसीक्वेंस के डेटा प्रकार के लिए अधिकतम सटीकता
scaleसीक्वेंस के लिए अधिकतम स्केल
current_valueसीक्वेंस से प्राप्त अंतिम मान
is_exhaustedमान 0 या 1. 0 = सीक्वेंस में कई मान। 1 = कोई मान नहीं
  1. - SQL Server में IS NULL कंडीशन

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

  1. - SQL Server में IS NOT NULL कंडीशन

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

  1. - MS SQL Server क्या है?

    SQL Server क्या है? Microsoft द्वारा विकसित सॉफ़्टवेयर जो RDBMS पर आधारित है। यह एक ORDBMS (Object Relational Database Management System) भी है। एक स्वतंत्र प्लेटफ़ॉर्म। सॉफ़्टवेयर कमांड लाइन इंटरफेस और GUI इंटरफेस दोनों का उपयोग करता है। SQL भाषा समर्थन (पूर्व में SEQUEL - स्ट्रक्चर्ड इंग्लिश क्वे