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  

 

你可能感兴趣的:(sql)