批量删除表

DECLARE @tableName AS Nvarchar(50)

--查询表名条件(小心!,确保like条件是你要Drop的表.TableName尽量精确) 

  SET @tableName='IC_'   

  --SELECT name FROM sys.tables   WHERE name LIKE '%'+@tableName+'%' --查询出要删除表的名称 

  IF @tableName='' SET @tableName='tableName'

--初始化TableName为tableName,防止@tableName为空 

  DECLARE @tableNames AS Nvarchar(3000)   

DECLARE @sql AS Nvarchar(3000) 

  SET @tableNames=    (SELECT ','+name FROM sys.tables 

  WHERE name LIKE '%'+@tableName+'%'  FOR XML PATH(''))   

SET @tableNames= Stuff(@tableNames,1,1,'')   

SET @sql='DROP TABLE '+@tableNames  EXEC(@sql)

 

posted @ 2014-02-04 13:44  东少  阅读(127)  评论(0)    收藏  举报