删除所有数据后如何在 SQL Server 中重置自动增量

spe*_*raz 3 sql-server-2005 auto-increment

我在 sql 中得到了一个函数,它生成连续系列的字母数字 no.like (c000,c0001 .......) ,效果很好。但是当我删除表中的所有数据时,它从最后生成的编号开始。我希望它从 "c0000" 重置它的值。

代码如下:-

create table Customers
(
dbID int identity not null primary key,
CustomerName varchar(100)
)

 create function CustomerNumber (@id int) 
  returns char(5) 
  as 
 begin 
 return 'C' + right('0000' + convert(varchar(10), @id), 4) 
  end

  alter table Customers add CustomerNumber as dbo.CustomerNumber(dbID)
Run Code Online (Sandbox Code Playgroud)

提前致谢....

编辑 1 -

如何更新它以根据最后一个值递增。意味着如果最后一个条目没有。c0053 ,我删除了这条记录,所以当添加下一个条目时,它的值应该是“C0053”而不是“C0054”。

谢谢

小智 6

截断表命令是重置身份的好方法,但还有其他命令也可以在删除记录后重置身份。

DBCC CHECKIDENT (TableName, RESEED, 0)
Run Code Online (Sandbox Code Playgroud)

删除后,您可以使用此命令将 Identity 重置为 0。