MS SQLSERVER 一次性删除所有表以及视图等等

DECLARE @tablename varchar(50)
DECLARE @type varchar(50)
DECLARE @truncatesql varchar(255)
DECLARE TrCun_Cursor CURSOR FOR
select [name],[type] from sysobjects where type = 'U' or type='V'
--有条件的清空表 name<>'不想清空的表名'--
OPEN TrCun_Cursor
FETCH TrCun_Cursor INTO @tablename,@type
WHILE(@@fetch_status = 0)
BEGIN
    IF @type='V'
        SET @truncatesql = 'drop view ' + @tablename
        exec(@truncatesql) --当要删除时,就去掉--
        PRINT @truncatesql
    IF @type='U'
        SET @truncatesql = 'drop table ' + @tablename
        exec(@truncatesql) --当要删除时,就去掉--
        PRINT @truncatesql
    FETCH TrCun_Cursor INTO @tablename,@type
END
CLOSE TrCun_Cursor
DEALLOCATE TrCun_Cursor
原文地址:https://www.cnblogs.com/cwy173/p/2842471.html