数据库中某些表没有记录,想把这些表删除,有没有简单的方法?

解决方案 »

  1.   

    if not exists (select top 1 * from tb)
       drop table tb
      

  2.   

    dawugui(潇洒老乌龟) :可以做一个循环吗,把所有记录为空的都删除
      

  3.   

    DECLARE @T VARCHAR(100)
    DECLARE #cusT CURSOR
     FOR SELECT OBJECT_NAME(id) FROM sysobjects WHERE xtype='U'
    OPEN #cusT
    FETCH NEXT FROM #cusT
    INTO @T
    WHILE @@FETCH_STATUS =0
    BEGIN
    EXEC('SELECT TOP 1 * FROM '+@T)
    IF @@ROWCOUNT<>0
    EXEC ('DROP TABLE' +@T)
    END
    CLOSE #cusT
    DEALLOCATE #cusT
    看看 可以用不
      

  4.   

    mustudent(小生--蚕豆;恆久忍耐!)
    =================================
    IF @@ROWCOUNT<>0  改为:IF @@ROWCOUNT=0
      

  5.   

    sp_msforeachtable 'if not exists(select 1 from ?) drop table ?'
      

  6.   

    chuifengde(树上的鸟儿)
    ----------------------------------------------------------------
    sp_msforeachtable 'if not exists(select 1 from ?) drop table ?'果然能够把数据库中表内容为空的表删除
    速度还可以
    收下了
    谢谢
      

  7.   

    chuifengde(树上的鸟儿)
    方法好用收下了
      

  8.   

    If Not Exists (select top 1 * from [TableName])
       drop table [TableName]