أحدث البرامج التعليمية وتطوير الشبكة
 

SQL زيادة تلقائية الميدان


تتيح زيادة تلقائية رقم فريد لأن تتولد عندما يتم إدراجها رقما قياسيا جديدا في جدول.


زيادة تلقائية في الميدان

في كثير من الأحيان نود قيمة حقل المفتاح الأساسي ليتم إنشاؤه تلقائيا في كل مرة يتم إدخال رقما قياسيا جديدا.

ونود أن إنشاء حقل زيادة تلقائية في جدول.


بناء الجملة من أجل الخلية

ويعرف عبارة SQL التالية في "ID" عمود أن يكون حقل المفتاح الأساسي لصناعة السيارات زيادة في "Persons" الجدول:

CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

يستخدم الخلية الكلمة AUTO_INCREMENT لإجراء ميزة لصناعة السيارات في الزيادة.

افتراضيا، قيمة البداية لAUTO_INCREMENT 1، وسوف زيادة بمقدار 1 لكل قياسيا جديدا.

السماح للتسلسل AUTO_INCREMENT تبدأ قيمة أخرى، استخدم عبارة SQL التالية:

ALTER TABLE Persons AUTO_INCREMENT=100

لإدراج سجل جديد في "Persons" الجدول، لن يكون لدينا لتحديد قيمة لل "ID" عمود (سيتم إضافة قيمة فريدة تلقائيا):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

عبارة SQL أعلاه إدراج سجل جديد في "Persons" الجدول. و "ID" أن العمود يتم تعيين قيمة فريدة من نوعها. و "FirstName" سيتم تعيين عمود إلى "Lars" و "LastName" سيتم تعيين عمود إلى "Monsen" .


تركيب ل SQL Server

ويعرف عبارة SQL التالية في "ID" عمود أن يكون حقل المفتاح الأساسي لصناعة السيارات زيادة في "Persons" الجدول:

CREATE TABLE Persons
(
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

يستخدم SQL خادم MS الكلمة الهوية لإجراء ميزة لصناعة السيارات في الزيادة.

في المثال أعلاه، فإن قيمة البداية عن الهوية هو 1، وسوف زيادة بمقدار 1 لكل قياسيا جديدا.

نصيحة: لتحديد أن "ID" عمود ينبغي أن تبدأ بالقيمة 10 وزيادة بنسبة 5، تغييره إلى الهوية (10،5).

لإدراج سجل جديد في "Persons" الجدول، لن يكون لدينا لتحديد قيمة لل "ID" عمود (سيتم إضافة قيمة فريدة تلقائيا):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

عبارة SQL أعلاه إدراج سجل جديد في "Persons" الجدول. و "ID" أن العمود يتم تعيين قيمة فريدة من نوعها. و "FirstName" سيتم تعيين عمود إلى "Lars" و "LastName" سيتم تعيين عمود إلى "Monsen" .


بناء الجملة من أجل الوصول

ويعرف عبارة SQL التالية في "ID" عمود أن يكون حقل المفتاح الأساسي لصناعة السيارات زيادة في "Persons" الجدول:

CREATE TABLE Persons
(
ID Integer PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

يستخدم MS الوصول إلى الكلمة AUTOINCREMENT لإجراء ميزة لصناعة السيارات في الزيادة.

افتراضيا، قيمة البداية لAUTOINCREMENT 1، وسوف زيادة بمقدار 1 لكل قياسيا جديدا.

نصيحة: لتحديد أن "ID" عمود ينبغي أن تبدأ بالقيمة 10 وزيادة بنسبة 5، تغيير autoincrement إلى AUTOINCREMENT (10،5).

لإدراج سجل جديد في "Persons" الجدول، لن يكون لدينا لتحديد قيمة لل "ID" عمود (سيتم إضافة قيمة فريدة تلقائيا):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

عبارة SQL أعلاه إدراج سجل جديد في "Persons" الجدول. و "P_Id" أن العمود يتم تعيين قيمة فريدة من نوعها. و "FirstName" سيتم تعيين عمود إلى "Lars" و "LastName" سيتم تعيين عمود إلى "Monsen" .


بناء الجملة من أجل أوراكل

في أوراكل رمز هو أكثر قليلا صعبة.

سيكون لديك لإنشاء حقل لصناعة السيارات في الزيادة مع الكائن التسلسل (هذا الكائن يولد تسلسل الرقم).

استخدم بناء الجملة CREATE التسلسل التالي:

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10

رمز أعلاه بإنشاء كائن تسلسل يسمى seq_person، الذي يبدأ ب 1 وسوف زيادة بمقدار 1. وسوف مخبأ أيضا ما يصل الى 10 قيم الأداء. يحدد خيار التخزين المؤقت كيف سيتم تخزين العديد من القيم تسلسل في الذاكرة لسرعة الوصول.

لإدراج سجل جديد في "Persons" الجدول، سيكون لدينا لاستخدام وظيفة nextval (هذه وظيفة باسترداد قيمة القادمة من تسلسل seq_person):

INSERT INTO Persons (ID,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')

عبارة SQL أعلاه إدراج سجل جديد في "Persons" الجدول. و "ID" سيتم تعيين عمود الرقم التالي من التسلسل seq_person. و "FirstName" سيتم تعيين عمود إلى "Lars" و "LastName" سيتم تعيين عمود إلى "Monsen" .