我已经写代码复位所有表的标识为1,但在某些表的身份没有重置为1,否则,将重置为0或2或其他数字 这是我的代码重置所有Identites 1
declare @Count int
declare @C int
declare @Str varchar(20)
set @C=1
set @Count=(select COUNT(*) TABLE_NAME from INFORMATION_SCHEMA.TABLES)
while @C<@Count
BEGIN
with Records AS(select row_number() over(order by TABLE_NAME) as 'row1', *
from INFORMATION_SCHEMA.TABLES)
select @Str= TABLE_NAME from records
where [email protected]
set @[email protected]+1
DBCC CHECKIDENT (@Str , reseed, 0)
END
检查这里: [http://stackoverflow.com/questions/724668/sql-server-identity-column-values-start-at-0-instead-of-1][1 ] [1]:http://stackoverflow.com/questions/724668/sql-server-identity-column-values-start-at-0-instead-of-1 – 2012-07-12 20:31:09
只需使用一个光标。 while循环效率非常低。 – 2012-07-15 08:53:31