所以这是正常的代码,如果我想将所有表重置为1
exec sp_MSforeachtable @command1 = 'DBCC CHECKIDENT(''?'', RESEED, 1)'
如果我想将其重置为我的表中的最大ID号,我的意思是这样的
exec sp_MSforeachtable @command1 = 'DBCC CHECKIDENT (''?'', RESEED, (select IDENT_CURREN(''?'') )'
任何人都可以解释为什么它不起作用?谢谢
执行此操作的目的是,有时当服务器关闭时,标识列只会从其值跳过1000,例如,如果当前标识值为2且服务器关闭,则下一个值将为1002
这对我有用:
exec sp_MSforeachtable @command1 =
'declare @contar int = (select count(*) from ?)
DBCC CHECKIDENT(''?'', RESEED, @contar)'