اہتمام کا 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 کار روکنے کے لئے استعمال کرتا ہے。
مقصد سے، 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 کلید کو auto-increment کار روکنے کے لئے استعمال کرتا ہے。
مقصد سے، 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 کلید فریضہ میں auto-increment کار روکنے کے لئے استعمال کرتا ہے。
مقصد سے، 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، کد کمی پیچیدهتر است.
شما باید از sequence برای ایجاد یک میدان خودکار-افزایش استفاده کنید (این شیء توالی عددی تولید میکند).
لطفاً از دستور CREATE SEQUENCE زیر استفاده کنید:
CREATE SEQUENCE seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10
کد بالا یک توالی seq_person با نام ایجاد میکند که از 1 شروع میشود و با 1 افزایش مییابد. این شیء 10 عدد را ذخیره میکند تا عملکرد بهبود یابد. گزینه 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" تنظیم میشود.