/ 文档备忘 / 0浏览

清空SQL数据库中所有数据表的数据保留结构

在Mssql2005上测试通过,以备不时之需。

use TestDB_2000_2005_2008  
go  
Declare @t varchar (1024)  
Declare @SQL varchar(2048)  
Declare tbl_cur cursor for  select TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' 
OPEN tbl_cur FETCH NEXT  from tbl_cur INTO @t 
WHILE @@FETCH_STATUS = 0  
BEGIN 
SET @SQL='TRUNCATE TABLE '+ @t 
--print (@SQL)  
EXEC (@SQL)  
FETCH NEXT  from tbl_cur INTO @t 
END 
CLOSE tbl_cur  
DEALLOCATE tbl_Cur