انواع روش های بازگردانی Identity تولید شده در Sql Server

در تاریخ ۱۳۹۴/۱۰/۱۱ ساعت ۲۲:۱۶:۲۴
عباسعلی خالصی

همانطور که میدانیم Identity  یک ویژگی است برای فیلدهای نوع عددی که به صورت خودکار در جداول پایگاه داده مقدار دهی میشود. لذا بازگردانی این مقدار در پروسیجر های Sql Server  روش های متفاوتی دارد، هدف از این مقاله بررسی انواع روش های بازگردانی Identity  تولید شده در Sql Server  است.

برای بازگردانی Identity  سه روش زیر قابل استفاده است

1- استفاده از OUTPUT در هنگام ثبت رکورد جدید

مثال:

INSERT INTO TableName OUTPUT inserted.Id DEFAULT VALUES

در مثال بالا پس از نام جدول(Test) کلمه کلیدی OUTPUT و پس از آن از ویژگی inserted که در این مثال میخواهیم Id ثبت شده را بازگردانی کنیم استفاده می کنیم، حتی می توان نام دیگر ستون ها را بازگردانی کرد.

نکته: محدوده استفاده از این روش برای رکورد جاری است.

 

2- استفاده از IDENTITY@@

مثال:

SELECT @@IDENTITY

در مثال بالا  آخرین مقدار Identity  تولید شده را انتخاب می کنذ.

نکته: محدوده استفاده از این نوع برای کلیه جداول پایگاه داده است

3- استفاده از SCOPE_IDENTITY

مثال :

SELECT SCOPE_IDENTITY()

در مثال بالا آخرین مقدار Identity  تولید شده ازدر جدول جاری را انتخاب می کند.

نکته: محدوده استفاده از این نوع برای جدول جاری پایگاه داده(عملیات بر روی آخرین جدول) است.

4- استفاده از  IDENT_CURRENT

مثال:

SELECT IDENT_CURRENT('TableName')

در مثال بالا آخرین مقدار Identity  تولید شده درجدول ذکر شده ('TableName') را انتخاب می کند.

نکته: محدوده استفاده از این نوع برای جدول ذکر شده پایگاه داده است.


نتیجه گیری:

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