我创建了一个应用程序并使用了从互联网上找到的以下代码来清除所有数据并重新设置表的标识列(Identity columns)的标识。
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'DELETE FROM ?'
GO
EXEC sp_MSForEachTable 'DBCC CHECKIDENT(''?'', RESEED, 0)'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'
GO
但是我有两个没有
Identity
列的表格,这给了我一个问题,显示如下:
我想知道是否有一种方法可以重置只有标识列的表格的标识列,而不会出现错误。Msg 7997, Level 16, State 1, Line 616
'SupplierBalance'不包含标识列。Msg 7997, Level 16, State 1, Line 616
'CustomerBalance'不包含标识列。
谢谢。
TRUNCATE
命令将重新设置你的IDENTITY
列,因此你不必发出RESEED
命令。 - Felix PamittanTRUNCATE
仅记录最小量的日志。http://dba.stackexchange.com/questions/30325/delete-vs-truncate/30347#30347 - Felix Pamittan