SQL AUTO INCREMENT क्षेत्र
ऑटो-इनक्रीमेंट नए रिकॉर्ड को टेबल में इंसर्ट करते समय एक अद्वितीय संख्या बनाता है।
AUTO INCREMENT स्तम्भ
हमारा आम संदेह है कि हमारे हर नए रिकॉर्ड जोड़ने के समय, मुख्य के स्तम्भ का मूल्य स्वचालित रूप से बना जाए।
हम तालिका में एक auto-increment स्तम्भ बना सकते हैं。
MySQL के लिए वाक्यांश
निम्नलिखित SQL वाक्यांश "Persons" तालिका में "P_Id" स्तम्भ को auto-increment मुख्य के रूप में निर्धारित करता है:
CREATE TABLE Persons ( P_Id int NOT NULL AUTO_INCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (P_Id) )
MySQL, AUTO_INCREMENT मुख्य कीवर्ड को ऑटो-इनक्रीमेंट कार्य करने के लिए उपयोग करता है。
डिफ़ॉल्ट में, AUTO_INCREMENT का शुरूआती मूल्य 1 है और प्रत्येक नई रिकॉर्ड 1 से बढ़ती है。
AUTO_INCREMENT श्रृंखला को अन्य वैल्यू से शुरू करने के लिए, निम्नलिखित SQL वाक्यांश का उपयोग करें:
ALTER TABLE Persons AUTO_INCREMENT=100
"Persons" तालिका में नई रिकॉर्ड जोड़ने के लिए हमें "P_Id" स्तम्भ के लिए मूल्य निर्धारित नहीं करना है (एक अनूठा मूल्य स्वचालित रूप से जोड़ा जाएगा):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
ऊपरी SQL वाक्य "Persons" तालिका में एक नया रिकॉर्ड इंसर्ट करेगा।"P_Id" को एक अद्वितीय मान दिया जाएगा।"FirstName" को "Bill" निर्धारित किया जाएगा, "LastName" स्तम्भ को "Gates" निर्धारित किया जाएगा。
SQL Server के लिए वाक्यांश
निम्नलिखित SQL वाक्यांश "Persons" तालिका में "P_Id" स्तम्भ को auto-increment मुख्य के रूप में निर्धारित करता है:
CREATE TABLE Persons ( P_Id int PRIMARY KEY IDENTITY, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
MS SQL, IDENTITY मुख्य कीवर्ड को ऑटो-इनक्रीमेंट कार्य करने के लिए उपयोग करता है。
डिफ़ॉल्ट में, IDENTITY का शुरूआती मूल्य 1 है और प्रत्येक नई रिकॉर्ड 1 से बढ़ती है。
"P_Id" स्तम्भ को 20 से शुरू होने और 10 से बढ़ने के लिए, identity को IDENTITY(20,10) में बदल दें:
"Persons" तालिका में नई रिकॉर्ड जोड़ने के लिए हमें "P_Id" स्तम्भ के लिए मूल्य निर्धारित नहीं करना है (एक अनूठा मूल्य स्वचालित रूप से जोड़ा जाएगा):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
ऊपरी SQL वाक्य "Persons" तालिका में एक नया रिकॉर्ड इंसर्ट करेगा।"P_Id" को एक अद्वितीय मान दिया जाएगा।"FirstName" को "Bill" निर्धारित किया जाएगा, "LastName" स्तम्भ को "Gates" निर्धारित किया जाएगा。
Access के लिए वाक्यांश
निम्नलिखित SQL वाक्यांश "Persons" तालिका में "P_Id" स्तम्भ को auto-increment मुख्य के रूप में निर्धारित करता है:
CREATE TABLE Persons ( P_Id int PRIMARY KEY AUTOINCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
MS Access, AUTOINCREMENT मुख्य कीवर्ड को ऑटो-इनक्रीमेंट कार्य करने के लिए उपयोग करता है。
डिफ़ॉल्ट में, AUTOINCREMENT का शुरूआती मूल्य 1 है और प्रत्येक नई रिकॉर्ड 1 से बढ़ती है。
"P_Id" स्तम्भ को 20 से शुरू होने और 10 से बढ़ने के लिए, autoincrement को AUTOINCREMENT(20,10) में बदल दें:
"Persons" तालिका में नई रिकॉर्ड जोड़ने के लिए हमें "P_Id" स्तम्भ के लिए मूल्य निर्धारित नहीं करना है (एक अनूठा मूल्य स्वचालित रूप से जोड़ा जाएगा):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
ऊपरी SQL वाक्य "Persons" तालिका में एक नया रिकॉर्ड इंसर्ट करेगा।"P_Id" को एक अद्वितीय मान दिया जाएगा।"FirstName" को "Bill" निर्धारित किया जाएगा, "LastName" स्तम्भ को "Gates" निर्धारित किया जाएगा。
Oracle के लिए वाक्यांश
Oracle में, कोड थोड़ा ज्यादा जटिल है。
आपको auto-increment फ़ील्ड (जो इस वस्तु के द्वारा नंबर सीरीज़ बनाता है) को बनाने के लिए sequence के द्वारा ही बनाना होगा。
नीचे दिए गए CREATE SEQUENCE वाक्यांश का उपयोग करें:
CREATE SEQUENCE seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10
ऊपरी कोड एक नाम seq_person के अनुक्रम वस्तु को बनाता है, जो 1 से शुरू होता है और 1 से बढ़ता है।यह वस्तु 10 मानों को कैशेज (cache) करती है, ताकि प्रदर्शन को बेहतर करने के लिए।CACHE विकल्प इस बात को निर्धारित करता है कि कितने अनुक्रम मानों को कैशेज करना है, ताकि अंतर्रशांखला गति को बेहतर करने के लिए。
"Persons" तालिका में नया रिकॉर्ड इंसर्ट करने के लिए, हमें nextval फ़ंक्शन (जो seq_person अनुक्रम से अगला मान लेता है) का उपयोग करना होगा:
INSERT INTO Persons (P_Id,FirstName,LastName) VALUES (seq_person.nextval,'Lars','Monsen')
ऊपरी SQL वाक्य "Persons" तालिका में एक नया रिकॉर्ड इंसर्ट करेगा।"P_Id" का मान seq_person अनुक्रम के अगले संख्या से आया है।"FirstName" को "Bill" निर्धारित किया जाएगा, "LastName" स्तम्भ को "Gates" निर्धारित किया जाएगा。