PDA

View Full Version : حذف رکورد بدون بهم ریختن identity



abdoullah.aberi
پنج شنبه 04 تیر 1394, 17:43 عصر
سلام و خسته نباشین دوستان برنامه نویس نماز ، روزه هاتون قبول باشه
من یک table دارم به این صورت (ID-Name) که id به صورت Primery و Identity انتخاب شده همونطور که مطلع اید وقتی کیوری Delete رو استفاده میکنم ID به کلی از بین میره یعنی دیگه اون شماره ای دی حذف شده وجود نداره و از ادامه اون شروع به ایجاد میکنه ایا راه حلی وجود داره برای اینکه اون شماره ID از بین نره و وقتی که یه رکورد جدید ایجاد شد ID به ترتیب شماره ها را ایجاد کنه
پیشاپیش ممنون از پاسختون

pezhvakco
پنج شنبه 04 تیر 1394, 18:21 عصر
این خواسته شما نادرست است =
ستونی که کلید است با ساختار فیزیکی چیدمان می شوند و بهتره ساختار بهم نریزه.

اگه ردیفی از وسط پاک شود رو چه می خواهید انجام دهید.
...
وشاید خواسته شما


DBCC CHECKIDENT ('tableName', RESEED, 0)
اون پارامتر اخر برا شروع مقدار تازه است

SabaSabouhi
شنبه 06 تیر 1394, 09:58 صبح
سلام و خسته نباشین دوستان برنامه نویس نماز ، روزه هاتون قبول باشه
من یک table دارم به این صورت (ID-Name) که id به صورت Primery و Identity انتخاب شده همونطور که مطلع اید وقتی کیوری Delete رو استفاده میکنم ID به کلی از بین میره یعنی دیگه اون شماره ای دی حذف شده وجود نداره و از ادامه اون شروع به ایجاد میکنه ایا راه حلی وجود داره برای اینکه اون شماره ID از بین نره و وقتی که یه رکورد جدید ایجاد شد ID به ترتیب شماره ها را ایجاد کنه
پیشاپیش ممنون از پاسختون

سلام
کاملاً با نوشته‌ی دوستمون pezhvako موافقم،
پرسش شما نشون می‌ده که قصد داری از id برای شماره سطر یا چیزی شبیه به اون استفاده کنی.
این اشتباه بزرگی هست اگه بخواهی از کلید اصلی استفاده‌ی دیگه‌ای بکنی.

« کلید اصلی فقط کلید اصلی هست و نه هیچ چیز دیگه »

اگه دنبال شماره سریال برای چیزی هستی ( مثلاً شماره فاکتور ) حتماً یک ستون دیگه برای این کار در نظر بگیر.
به هیچ عنوان برای این کارها از کلید اصلی استفاده نکن.

صبا صبوحی