PDA

View Full Version : مبتدی: identity



elnazii
جمعه 11 دی 1388, 00:37 صبح
سلام دوستان
من يه تازه كارم با صد هزار تا سوال:اشتباه:
من يه جدول user توي اس كيو ال ايجاد كردم با دو فيلد : نوع كاربري و رمز و رديف
كه رديف numeric هست و identity=yes .خوب حالا وقتي ركوردي حذف مي شه شماره هاي رديف به هم مي خورن . من مي خوام توي گريد ويو رديف رو داشته باشم كه مدير بتونه رديف رو وارد كرده و ويرايشش كنه. چيكار كنم؟

AminSobati
جمعه 11 دی 1388, 09:33 صبح
سلام دوست عزیزم،
فیلد Identity رو بعنوان شماره ردیف استفاده نکنید، چون اساسا برای این کار طراحی نشده. وظیفه اش فقط تولید اعداد یونیک با حداکثر سرعت هست. طبعا حذف رکورد منجر به داشتن جای خالی (Gap) میشه. اگر صرفا یک شماره ردیف برای نمایش به کاربر لازم دارید، از تابع ROW_NUMBER در هنگام کوئری استفاده کنید. اما اگر این شماره ردیف قرار نقش PK داشته باشه، پس کلا خاصیت Identity رو کنار بگذارید و خودتون برای هر رکورد شماره تولید کنید

elnazii
جمعه 11 دی 1388, 12:17 عصر
ممنون از كمكتون:لبخندساده:
مي شه در صورت امكان در مورد row_number كمي راهنماييم كنيد ؟
چطوري ازش استفاده كنم؟