SQL server怎么批量删除表

数据库教程 2020-06-14 15:40:03 36

导读

一,先查出目标数据库中你要找的表:use 数据库名SELECT * FROM sysobjects WHERE xtype='U' AND name LIKE 'wp%'确定查出来的表都是自己想要的,如果不是,继续修改上述SQL语句,直到查准了自己想要的表……

一,先查出目标数据库中你要找的表

use 数据库名SELECT * FROM sysobjects WHERE xtype='U' AND name LIKE 'wp%'

确定查出来的表都是自己想要的,如果不是,继续修改上述SQL语句,直到查准了自己想要的表

二,用下面存储过程语句删除

use 数据库名DECLARE @Table NVARCHAR(30)  
DECLARE tmpCur CURSOR FOR   SELECT * FROM sysobjects WHERE TYPE='U' AND name LIKE 'wp%'OPEN tmpCur   
FETCH NEXT FROM tmpCur INTO @Table  WHILE @@FETCH_STATUS = 0   BEGIN  
    DECLARE @sql VARCHAR(100)  
    SELECT @sql = 'drop table ' + @Table  
    EXEC(@sql)  
    FETCH NEXT FROM tmpCur INTO @Table  END  CLOSE tmpCur   
DEALLOCATE tmpCur

注意:
1,下面的SELECT语句要和上面第一点保持一致
2,如果是删视图,第一、二点里面的xtype='V',第二点里的drop table要改成drop view
3,如果是删存储过程,第一、二点里面的xtype='P',第二点里的drop table要改成drop proc


1253067 TFnetwork_cn