sql - 批量删除表

  今天帮朋友做点数据,其中因为原始数据的第一步处理需求变了,所以基本上过程中,除了原始数据,其他所有表都没有用了,但是sql Server又不允许同时选多个表进行删除操作.

  我的需求是,除了表t_init之外,都要删除,sql 代码为:

/****** Script for SelectTopNRows command from SSMS  ******/
use RainFactor;
    DECLARE @Table NVARCHAR(30)  
    DECLARE tmpCur CURSOR FOR   
    SELECT name FROM sys.objects WHERE TYPE='U' AND name not LIKE N't_init%'  
    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  

 

posted @ 2015-02-01 20:37  wonkju  阅读(1209)  评论(0编辑  收藏  举报