آموزش Identity در Sql Server

زهیر صفری 1401/10/17 0 669
لینک کوتاه https://zoheirsoftware.com/z/5f4ab04 |
Identity,sqlserv in Identity,فیلد identity

مفهوم Identity

Identity یکی از ویژگی هایی است که می توان برای ستون های عددی در SQL Server در نظر گرفت. این ویژگی روی یک فیلد عددی بایستی  تنظیم شود.

روش کار درIdentity  به این صورت هست که  اگر رکوردی در جدول Identity وارد شود، فیلد Identity به طور خودکار مقداری را دریافت می کند.

روش به دست آوردن مقدار برای فیلد Identity مطابق با مقدار نهایی و مرحله افزایشی است که هنگام ایجاد هویت تعریف شده است.

برای ایجاد یک فیلد Identity، می توانید این ویژگی را به فیلدی که می خواهید هنگام ایجاد جدول اختصاص دهید.

 identity چیست ؟

جهت شمارش و افزایش یک فیلد به طور خودکار  به این صورت:

 identity   (مقدار افزایش,مقدار اولیه )

 

فیلد identity در sql به این معناست که به ازای هر رکوردی که در جدول وارد می کنیم ، به صورت اتوماتیک مقدار دهی خواهد شد و نمی توانیم این فیلد را مقدار دهی کنیم .

 

فیلد identity دو خصوصیت دارد:

Identity Increment :  که مشخص می کند مقدار فیلد چند تایی افزایش پیدا کند، به طور پیش فرض مقدار آن یک است و می تواند اعداد مثبت و همین طور منفی نیز بگیرد.

Identity Seed  :  مشخص می کند مقدار این فیلد از چه عددی شروع شود، به طور پیش فرض از یک شروع می شود ولی می تواند از اعداد منفی و  هر عدد مثبتی برای شروع فیلد Identity استفاده کرد.

نکته مهم : اگر رکوردهای جدول را با Delete حذف کنیم مقدار آخرین Identity حفظ خواهد شد و درج با عدد بعدی آن صورت می گیرد،

اگر بخواهیم بعد از حذف داده ها درج با مقدار Seed تعریف شده صورت گیرد به جای Delete از دستور TRUNCATE table_name استفاده می کنیم، به این ترتیب لاگ هم ذخیره نخواهد شد ،

ضمن اینکه سرعت حذف رکوردها بسیار بیشتر است.

 

مثال : مثال Identity   در جدول فاکتور سفارش وب سایت فروشگاهی است.

use tempdb
go
CREATE TABLE Orders(
	ordernumber int  IDENTITY(100,1) NOT NULL,
	customername  nvarchar (50)  ,
	sumprice int ,
 )

 

در مثال بالا ما در فیلد ordernumber  که مربوط به شماره سفارش مورد نظر می باشد . در این فیلد Identity   از شماره 100 شروع می شود و یک واحد افزایش می یابد.

چند رکورد برای تست درج میکنیم.

INSERT INTO orders (customername ,sumprice) VALUES (N'زهیر صفری',1000)
INSERT INTO orders (customername ,sumprice) VALUES (N'زهیر صفری',20000)

 

پس از خروجی در sqlserver مشاهده میکنیم فیلد شماره سفارش فاکتور از عدد 100 شروع و در سطر اول عدد 100 درج میشه و در سطر دوم یک واحد افزایش پیدا میکنه و عدد 101 را درج میکنه

 Identity |  Identity  چیست |  Identity در sqlserver

 

دوره های مرتبط
آموزش Sql,آموزش sqlserver, آموزش جامع Sqlserver

آموزش پایگاه داده SqlServer

پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .

1,000,000 تومان

1.5k بازدید
مشاهده

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.