怎样清空数据库sql 2000,清空后让表的id从1开始

来源:百度知道 编辑:UC知道 时间:2024/06/08 18:43:21

TRUNCATE TABLE
删除表中的所有行,而不记录单个行删除操作。

语法
TRUNCATE TABLE name
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

TRUNCATE TABLE 清空表所有数据,而且使标识列从标识种子(一般标识种子从1开始)重新开始

可以在当前的数据库下自己写个存储过程来执行这些操作

存储过程如下:

CREATE PROCEDURE DeleteAll
AS
begin
declare @name nvarchar(50)
declare @sql nvarchar(50)
declare TableName CURSOR
FOR (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE ='BASE TABLE')

open TableName
fetch next from TableName into @name

while (@@fetch_status=0)
begin
select @sql = 'delete ' + @name
print @sql
execute sp_executesql @sql --删除表的数据
DBCC CHECKIDENT(@name,reseed,1) --重新设置ID种子
fetch next from TableName into @name
end
close TableName
DEALLOCATE TableName
end
GO

你自己在调试下看符不符合你的要求

trunca