چه موقع از Ident_Current در SQL استفاده کنیم؟
آموزش برنامه نویسی | Ident_Current در SQL
چه موقع از Ident_Current در SQL استفاده کنیم؟
آموزش برنامه نویسی | Ident_Current در SQL
همانگونه که میدانید مقدار Identity پس از درج به آن تخصیص مییابد.
برای دسترسی به این مقدار از 3 روش زیر استفاده می کنیم:
- استفاده از تابع ()Scope_Identity
- استفاده از تابع Ident_Current
- استفاده از متغییر سیستمی Identity@@
استفاده از تابع ()Scope_Identity
با استفاده از این تابع میتوانیم آخرین Identify ایجاد شده به ازای Session جاری را بدست آوریم. لازم به ذکر است مقادیر Identity ایجاد شده توسط سایر حوزهها تاثیر در مقدار بازگشتی توسط این تابع ندارد.
استفاده از تابع Ident_Current
این تابع آخرین مقدار Identity موجود در یک جدول را نمایش میدهد. ذکر این نکته ضروری است که Identity ایجاد شده توسط سایر Sessionها هم روی خروجی این تابع تاثیرگذار است. چون این تابع آخرین Identity موجود در جدول را به شما نمایش میدهد و نه Identity ایجاد شده به ازای یک Session را.
استفاده از متغییر سیستمی Identity@@
این متغییر سیستمی حاوی آخرین Identity ایجاد شده به ازای Session جاری شما است. لازم به ذکر است اگر به واسطه Insert شما، Identity دیگری در یک حوزه دیگر (مانند یک Trigger) ایجاد شود مقدار موجود در این متغییر حاوی آخرین Identity ایجاد شده است. (یعنی Identity ایجاد شده توسط آن تریگر و نه خود جدول).
حال سوال اصلی این بود که چه موقع از Ident_Current در SQL استفاده کنیم؟
اگر شما یک برنامه کاربردی دارید که در آن شما نیاز به دریافت آخرین شناسه جدول دارید، به جای هویتی که در سیستم فعلی وارد کرده اید، به ident_current بروید. مقادیری که ممکن است دریافت کنید، همان چیزی است که شما فقط وارد کرده اید.
در یک خط - تابع IDENT_CURRENT آخرین مقدار هویت تولید شده برای یک جدول یا نمای مشخص را نشان می دهد. ارزش آخرین هویت تولید شده می تواند برای هر session و هر scope باشد.
منبع: sqlauthority
"منتشر شده در سایت ABLY"