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  

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。