怎样清空数据库sql 2000,清空后让表的id从1开始
9个回答
展开全部
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TRUNCATE TABLE
删除表中的所有行,而不记录单个行删除操作。
语法
TRUNCATE TABLE name
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
TRUNCATE TABLE 清空表所有数据,而且使标识列从标识种子(一般标识种子从1开始)重新开始
删除表中的所有行,而不记录单个行删除操作。
语法
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
你自己在调试下看符不符合你的要求
存储过程如下:
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
你自己在调试下看符不符合你的要求
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
truncate table '表名' 这个命令,可以清空数据,而且不产生删除日志,可以让自增ID从新开始。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询