select @n=1
insert #temp(tablename) SELECT distinct sobjects.name
FROM sysobjects sobjects
WHERE sobjects.xtype = 'U'
select @rows = @@rowcount
while @n <= @rows
begin
declare @tablename nvarchar(50)
select @tablename = (select tablename from #temp where id = @n)
--允许将显式值插入表的标识列中 ON-允许 OFF-不允许
--exec ('set identity_insert '+@tablename+' ON')--打开
exec ('TRUNCATE TABLE '+@tablename)
print(@tablename)
select @n = @n + 1
end
go
转载于:https://www.cnblogs.com/DragonStart/p/9976232.html
本文介绍了一种使用SQL语句批量清空数据库中所有表数据的方法,通过创建临时表存储表名,然后循环执行truncate table语句实现。注意,此操作会清除表内所有数据,请谨慎使用。
24

被折叠的 条评论
为什么被折叠?



