PDA

View Full Version : صفر کردن مقدار فیلد identity(Auto Number)



mrpn123
جمعه 09 فروردین 1387, 09:51 صبح
با سلام به همه دوستان
من در یک جدول یه فیلد identity دارم که از نوع tinyint است وقتی برنامه رو دارم تست میکنم چند فیلد به برنامه که اضافه میشه مقدار این فیلد هم همانطور که میدونید به صورت incerement اضافه میشه و وقتی که من میخوام برنامه رو به مشتری بدم و جدول رو پاک کنم این فیلد از 1 شروع نمیشه و مجبورم که بیام ازنوع اونو بسازم آیا راه حل دیگه ای هست مثلا با یک کد فیلد های identity صفر شود

anubis_ir
جمعه 09 فروردین 1387, 10:06 صبح
از دستور truncate روی جدول استفاده کنید.

bad_boy_2007
شنبه 10 فروردین 1387, 01:23 صبح
من یک کار دیگه میکنم ، اول فیلد ID رو از حالت Auto ور میدارم و بعد رکوردها رو شماره گذاری یا حذف میکنم و بعد فیلد رو به حالت Auto بر میگردونم حالا SQL Server میاد و رکورد بعدی رو شماره ای میده که پس از آخرین رکورد درج شده در جدول باشه .
احتمالا این روش خیلی به کارت میاد :چشمک:

mrpn123
یک شنبه 11 فروردین 1387, 09:55 صبح
من یک کار دیگه میکنم ، اول فیلد ID رو از حالت Auto ور میدارم و بعد رکوردها رو شماره گذاری یا حذف میکنم و بعد فیلد رو به حالت Auto بر میگردونم حالا SQL Server میاد و رکورد بعدی رو شماره ای میده که پس از آخرین رکورد درج شده در جدول باشه .
احتمالا این روش خیلی به کارت میاد :چشمک:

با تشکر
میشه کدی که با هاش فیلد را از حالت auto در می یاره رو بزاری
اگر فیلد ما کلید خارجی باشه چی آیا میشه

(من یک فاکتور فروش دارم که در جدول فاکتور فروش ردیف آن identity است و این ردیف در جدول زیر فاکتور هم آمده ) من میخوام تمام زیر فاکتور ها که با فاکتور join هستو پاک کنم و فاکتور ها نیز پاک شود و ردیف فاکتور از 1 شروع شود

Kamyar.Kimiyabeigi
یک شنبه 11 فروردین 1387, 10:22 صبح
DBCC CHECKIDENT

دستور بالا رو در BOL بخونین مخصوص کار با فیلدهای Identity هست. که برای سوال شما به صورت زیر استفاده میشه


DBCC CHECKIDENT (TableName, RESEED, 0)