SQL批量删除表、数据

DECLARE @table NVARCHAR(30)  
DECLARE tmpCur CURSOR FOR   
SELECT name FROM sys.objects WHERE TYPE='U' AND name LIKE N'Z%'  
OPEN tmpCur   
FETCH NEXT FROM tmpCur INTO @table
WHILE @@FETCH_STATUS = 0   
BEGIN  
DECLARE @sql VARCHAR(100)  
SELECT @sql = 'TRUNCATE TABLE ' + @table--删除表中数据
EXEC(@sql)  
FETCH NEXT FROM tmpCur INTO @table
END  
CLOSE tmpCur   
DEALLOCATE tmpCur  


注意:LIKE后的Z字母,批量删除以Z开头表中的数据,有约束的无法删除。

如果删除表,即把@sql改为'DROP TABLE '