SQL 有选择性批量清空整个数据库但保留结构
DECLARE @TruncateSQL VARCHAR(80)
DECLARE @iCount int=0
DECLARE name_cursor cursor for
select 'Truncate Table '+ TABLE_NAME from INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME NOT IN('System','System2','Operator','OilDef','UserRoll','RollFunction','FunctionType',
'FunctionTType','StationOrgCode','ICCard','ChangeClass','dispensor','Tank')
Open name_cursor
FETCH NEXT FROM name_cursor INTO @TruncateSQL
WHILE @@FETCH_STATUS=0
BEGIN
Exec (@TruncateSQL)
print @TruncateSQL
set @iCount=@iCount+1
FETCH NEXT FROM name_cursor INTO @TruncateSQL
END
CLOSE name_cursor
DEALLOCATE name_cursor
print '共清空表数量' + CAST(@iCount AS VARCHAR)
效果:

本文来自博客园,作者:IT情深,转载请注明原文链接:https://www.cnblogs.com/wh445306/p/16751664.html

浙公网安备 33010602011771号