إضافة
Identity Column
تعريف Identity Column هي خاصية نستطيع من خلالها التحكم في شكل العمود وجعلة متسلسل
تلقائياً باي رقم نريد البدأ به و باي عدد
زيادة.
جدول tblPerson:
أمر إضافة Column من نوع Identity:
ID
int identity(1,1) primary Key
ويكتب بهذا الشكل مع إنشاء جدول باسم tblPerson:
Column ID من نوع int ومتسلسل identity بمقدار زيادة Identity Increment 1 و أول صف Identity Seed يكون بالقيمة 1.
Column Name من نوع nvarchar وطوله 50 ولا يمكن أن يكون NULL وهكذا...
Create Table tblPerson
(
ID
int identity(1,1) primary Key ,
Name
nvarchar(50) NOT NULL,
Email
nvarchar(50) NOT NULL,
GenderID int,
Age
int
)
توضح الصورة
التالية خصائص ID Column, ونريد التركيز علي الخاصية Identity.
Identity Seed هي قيمة أول صف Row يتم إضافتة بالجدول و الخاصية Identity Increment مقدار الزيادة لكل Row جديد:
والان قمت بتغير
الخصائص ل Column IDكما بالصورة التالي:
تم تغير Is Identity = Yes
تغير مقدار
الزيادة Identity Increment = 1
تغير قيمة أول Row وهي Identity Seed = 1000
نلاحظ شكل
البيانات بعد ادخالها بالجدول قد اصبح اول Row بقيمة 1000 وهي القيمة التي تم اسندها للخاصية Identity Seed, ونلاحظ ان ثاني Row زاد بمقدار رقم 1 , الذي هو قيمة Identity Increment.
ID Name Email GenderID Age
1000 Nader
Khaled n@gmail.com 1 22
1001 Bassem
Khaled b@gmail.com 1 21
1002 Meno
Nader m@gmail.com 1 6
امكانية إضافة Row يبدأ من الترقيم الطبيعي للجدول اي بتسلسل 1 – 2 – 3 - ... وهكذا.
بمعني اذا حولنا
اضافة بيانات جديدة إلى الجدول التالي بعد حذف كل ما به من بيانات سوف يكون الشكل
كالتالي:
أولا شكل الجدول
وبه بيانات وسوف نقوم بحذف كل ما به ونلاحظ أخر مسلسل لدينا هو ID=2, نقوم
بالحذف:
Delete from tblPerson
where ID = 2
اصبح ID Column بالقيمة 3,
ولكن نحن نريد ان يبدأ التسلسل من الرقم 1؟
يوجد الأمر Command DBCC وهو اختصار
لـ DBCC Database Consistency Check, يستخدم لإعادة قيمة التسلسل identity إلى وضع
الأفتراضي.
DBCC
CHECKIDENT (tblPerson,RESEED,0)
نضيف الأن صف
جديد New Row:
INSERT INTO tblPerson
VALUES ('Sara','s@s.com',2,18)
النتيجة:
تم إعادة قيمة
التسلسل identity إلى وضع الأفتراضي بالقيمة 1.
ليست هناك تعليقات:
إرسال تعليق
يسعدني إرسال تعليقاتكم وأسئلتكم واقتراحاتكم