由于个人问题或团队沟通问题或需求变动等问题导致建库时,数据表比较杂乱,有的数据表建立后根本就没用到那么如何在数据库中剔除这些多余的数据表呢?

解决方案 »

  1.   

    --批量删除表
    declare @sql varchar(8000),@tbname varchar(400)
    select @sql='',@tbname = '%test%'--这里写你希望批量删除的表的特征,此处只要表名中有test就都删除
    select @sql = @sql+' drop table '+name
    from sysobjects a
    where xtype='U' and name like @tbname
    exec(@sql)
      

  2.   

    用什么条件来判断表是多余的?
    在系统表sysobjects保存有所在数据库中各个对象的信息(包括表),可以参考一下
      

  3.   

    改一下specialsoldier(雪地撒野~噢姐姐,我要回家) ( ) 信誉:100    Blog 
    代码。declare @sql varchar(8000),@tbname varchar(400)
    select @sql='',@tbname = '%test%'--这里写你希望批量删除的表的特征,此处只要表名中有test就都删除
    select @sql = 'select '+' drop table '+name
    from sysobjects a
    where xtype='U' and name like @tbname
    exec(@sql)
      

  4.   

    晕,看错了,不好意思,
    select 'drop table '+name form sysobjects a where xtype='u' and name like '%条件%'
    如果放在EXEC里
    'select ''drop table''+name from sysobjects where xtype=''u'' and name like ''%条件%'''
      

  5.   

    让头头把设计文档写的详细点,再加些约定比如测试的表后面加TEST,辅助的表加help,这样容易管理
      

  6.   

    哈哈DROP DATABASE======
    狠!!
    不过不如
    Formart C: