الـ Identity في السيكوال سيرفر

25 أكتوبر 2016     686 مشاهدة    2 تعليق
تم النشر في #SQL Server 

كما هو من المعروف عند إنشاء أي حقل تلقائي و ذو قيمة تزايدية في السيكوال سيرفر, فاننا نقوم بضبط الخاصيه Identity إلى Yes.وبعدها عند إضافة أي سجل يتم توليد القيمة تلقائياً من قبل السيكوال سيرفر.

لكن الغريب الذي قد يبدو هو وجود الدوال التالية: @@IDENTITY, SCOPE_IDENTITY(), IDENT_CURRENT والتي جميعها تقوم بإرجاع قيمة الـ Identity لآخر سجل تم إضافته. السؤال ماهو الفرق الأساسي بين تلك الدوال والإجراءات؟!! هذا هو محور مقالة اليوم.

ببساطة ممكن اختصر الفرق كالتالي:

@@IDENTITY

تقوم بإرجاع آخر قيمة تم إنشاءها للـ Identity في نفس الجلسة بغض النظر عن النطاق الذي انشأ القيمة.

SCOPE_IDENTITY()

تقوم بإرجاع آخر قيمة تم إنشاءها للـ Identity في نفس الجلسة ونفس النطاق.

IDENT_CURRENT("TableName")

تقوم بإرجاع آخر قيمة تم إنشاءها للـ Identity في جدول معين, بغض النظر عن الجلسة أو النطاق الذي انشأ القيمة.

قد يتسأل البعض ماهي الجلسة؟!! وماهو النطاق؟!!
الجلسة ببساطة الإتصال الحالي لقاعدة البيانات, أما النطاق هو الإستعلام الحالي أو الإجراء المخزن الحالي.

وقد يبدو للبعض أن الـ @@IDENTITY والـ SCOPE_IDENTITY() شبيهان لنوع ما, إلا أن هناك حالات تبين إختلافهما, فلنفترض وجود Trigger في الجدول. فإذا تم إضافة سجل جديد عبر إستعلام معين, هذا سيجعل الـ Trigger يقوم بإضافة سجل آخر في مكان معين (قد يكون جدول آخر), لذا فإن الـ SCOPE_IDENTITY() سوف ترجع قيمة الـ Identity التي تم إنشاءها في الإستعلام بينما الـ @@IDENTITY ستقوم بإرجاع قيمة الـ Identity التي تم إنشاءها من قبل الـ Trigger.

لتجنب المشاكل الناتجة عن إضافة الـ Trigger ينصح دائماً بإستخدام الـ SCOPE_IDENTITY() لإرجاع الـ Identity لآخر سجل تم إضافته.

للعلم أن هنالك داله آخرى إسمها IDENTITY() هذه لاتقوم بإرجاع آخر قيمة للـ Identity وإنما تقوم بإنشاء الـ Identity.

تويتر فيسبوك قوقل + لينكد إن


2 تعليق

Phillipfap (22/04/2018 11:13:35 ص)

http://lastnewstoday.ru/pr/adult/images/9068b248538e.jpg

знакомства девушки без

Онлайн сообщество знакомств с целью интима. Реальные встречи с противоположным полом для XXX у тебя городе. Не проходи мимо - не пожалеешь!

секс знакомства регистрация с телефона, видео знакомства бесплатно, женщины за 30 знакомства фото, знакомства ру регистрация бесплатно, знакомства в новосибирске без регистрации, сайт знакомств для отношений в москве бесплатный, знакомства оскол, сайты для серьезных знакомств бесплатно в москве, мамба ру знакомства, сайт знакомств нгс, сайт знакомств loveeto моя страница, bluesystem знакомства, hitwe знакомства, серьезные знакомства для брака, сад знакомства, страна сайт знакомств моя страница, секс знакомства воронеж, город женщин знакомства, знакомства приморском, знакомство актеры, знакомство с факерами фильм 2004, зарегистрироваться на сайте знакомств, мобильные знакомства табор моя страница вход, вопросы при знакомстве, мобильные знакомства без регистрации, знакомство с девушками без регистрации с фото, секс знакомства без регистрации с телефонами, знакомства для взрослых фото женщин за 30, москва девушки знакомства бесплатно, сайт знакомств без обязательств, знакомства инфицированных, сайт знакомств му, пообщаемся знакомства без регистрации, знакомства вич инфицируемы, знакомства вич инфицированных, знакомства 7

Radikthaps (08/08/2018 04:12:58 م)

Meet a guy to communicate and more
write I won't bite you +79967254947
boys write WhatsApp +79967254947
boys write WhatsApp +79967254947
boys write WhatsApp +79967254947


اكتب تعليقك