PDA

View Full Version : مشکل سرریز در ستون های خودافضا(AutoIncreament)



takavar_dez
سه شنبه 12 بهمن 1389, 07:53 صبح
با سلام

من یه جدول با یک ستون از نوع SmallInt دارم که این ستون AutoIncreament هستش و طبیعتا حداکثر میتونه تا 32767 رو پشتیبانی کنه

آیا راهی برای ریست کردن این ستون بعد از رسیدن به 32767 و شروع مجدد از 1 وجود داره؟

takavar_dez
سه شنبه 12 بهمن 1389, 08:18 صبح
با سلام

من یه جدول با یک ستون از نوع SmallInt دارم که این ستون AutoIncreament هستش و طبیعتا حداکثر میتونه تا 32767 رو پشتیبانی کنه

آیا راهی برای ریست کردن این ستون بعد از رسیدن به 32767 و شروع مجدد از 1 وجود داره؟

ظاهرا با Truncate Table میشه این کار رو انجام داد!
این دستور چیه؟چطور کار میکنه؟

hossein_h62
سه شنبه 12 بهمن 1389, 10:39 صبح
دستور Truncate Table فیلد Identity شما رو ریست میکنه ولی کل رکوردهای جدولتون پاک خواهد شد!
از DBCC CheckIdent استفاده کنید.

takavar_dez
سه شنبه 12 بهمن 1389, 10:59 صبح
دستور Truncate Table فیلد Identity شما رو ریست میکنه ولی کل رکوردهای جدولتون پاک خواهد شد!
از DBCC CheckIdent استفاده کنید.
ممنونم خیلی لطف کردید
این کد رو برای استفاده سایر دوستان میذارم
با استفاده از این تریگر می شه بعد از رسیدن ID به یه حد مورد نظر اونو ریست کرد



Create TRIGGER [dbo].[InsTrig]
ON [dbo].[Table_1]
After insert
AS
BEGIN
declare @id smallint
set @id = (select ID from inserted)
if(@id = 32767)
begin
DBCC CHECKIDENT('Table_1', RESEED, 0)
end

END