Identity چیست – قسمت چهارم

Identity چیست – قسمت چهارم

نوشته شده توسط: مسعود طاهری
۳۰ تیر ۱۳۹۴
زمان مطالعه: 12 دقیقه
۵
(۱)

مقدمه

در قسمت اول و قسمت دوم  این مقاله به مقدار موجود در فیلدهایی از نوع Identity توسط SQL Server اعمال می‌گردد، اشاره شد . همچنین در قسمت سوم  این مقاله به راهکارهایی برای Assign کردن این فیلد ها پرداخت شد. در مقاله چهارم به بیان دستور DBCC CheckIdent می‌پردازیم.برخی از مواقع کاربران خواستار این هستند که مقدار Identity را Reset  کنند برای انجام اینکار می‌توانید از دستور DBCC CheckIdent استفاده نمایید.
شکل کلی این دستور به صورت زیر می‌باشد.

DBCC CHECKIDENT
)
table_name
[ , { NORESEED | { RESEED [ , new_reseed_value ] } } ]
(

پارامترهای مربوط به این دستور عبارتند از

۱- Table_Name: این پارامتر نام جدولی را مشخص می‌کند که می‌خواهید مقدار آن را دستکاری نمایید.
۲- NORESEED: در صورتیکه از این کلمه کلیدی به عنوان پارامتر دوم استفاده شود. باعث می‌شود که تغییر در مقدار Identity بوجود نیاید.
۳- RESEED: در صورتیکه از این کلمه کلیدی به عنوان پارامتر سوم استفاده شود. باعث می‌شود که تغییر در مقدار Identity با توجه به پارامتر چهارم بوجود آید.
۴- new_reseed_value: این پارامتر مشخص می‌کند که Identity باید به چه مقداری Reset شود.
نکته : لازم به ذکر است که ورود پارامتر دوم و سوم اختیاری بوده و اجباری به ورود آن نمی‌باشد.
قبل از بررسی مثال‌ها Scriptهای زیر را برای ایجاد جدول و رکوردهای مربوط به آن را اجرا نمایید.

USE tempdb
GO
CREATE TABLE Customers1
)
ID INT IDENTITY,
Name NVARCHAR(100),
[Address] NVARCHAR(200)
(
GO
INSERT INTO Customers1 (Name,[Address]) VALUES
(N'مسعود',N'میانه'),
(N'فرید',N'میانه'),
(N'احمد',N'میانه'),
GO
SELECT * FROM Customers1

 مثال‌های زیر حالت‌های مختلف مربوط به این دستور را به شما نشان می‌دهد.
مثال ۱ : در صورت ورود پارامتر اول، صرفاً مقدار جاری Identity به شما نمایش داده می‌شود.

USE tempdb
GO
DBCC CHECKIDENT (Customers1);
GO

مثال ۲ : در صورت استفاده از NORESEED به عنوان پارامتر دوم، صرفاً مقدار جاری Identity به شما نمایش داده می‌شود. البته ممکن است هنگام استفاده از این حالت در برخی از شرایط خروجی مقدار صحیحی نباشد.

USE tempdb
GO
;DBCC CHECKIDENT (Customers1,NORESEED)
GO

مثال ۳ : در صورت استفاده از RESEED به عنوان پارامتر دوم، صرفاً مقدار جاری Identity را به شما نمایش داده می‌شود.

USE tempdb
GO
DBCC CHECKIDENT (Customers1,RESEED);
GO

مثال ۴ : در صورت استفاده از RESEED به عنوان پارامتر دوم و تعیین مقدار جدید برای Identity از این به بعد مقدار تولید شده برای Identity برابر با new_reseed_value+1 خواهد بود.

USE tempdb
GO
;DBCC CHECKIDENT (Customers1,RESEED,300)
GO

در این حالت چنانچه رکوردی در جدول درج شود مقدار Identity برابر با new_reseed_value+1 خواهد بود.

INSERT INTO Customers1 (Name,[Address]) VALUES (N'خدیجه',N'میانه')
GO
SELECT * FROM Customers1

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۱

اولین نفر باش

title sign
دانلود مقاله
Identity چیست – قسمت چهارم
فرمت PDF
3 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
مسعود طاهری
مقالات
28 مقاله توسط این نویسنده
محصولات
59 دوره توسط این نویسنده
مسعود طاهری

مسعود طاهری مدرس و مشاور ارشد SQL Server & BI ،  مدیر فنی پروژه‌های هوش تجاری (بیمه سامان، اوقاف، جین وست، هلدینگ ماهان و...) ، مدرس دوره‌هــای SQL Server و هوش‌تجاری در شرکت نیک‌آموز و نویسنده کتاب PolyBase در SQL Server

پروفایل نویسنده
title sign
دیدگاه کاربران

    •    سلام استاد
      من کل اینترنت رو گشتم ولی متاسفانه چیزی در مورد Identity پیدا نکردم تا اینکه دیدم در سایت شما پنج قسمت به طور کامل قرار داده شده تشکر ویژه برای آموزش خوبتون

ثبت نام رایگان در همایش Tehran .NET Conf 2023 ، همین الان کلیک کنید
ثبت نام رایگان..
close-image