日期:2014-05-18  浏览次数:20584 次

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

------解决方案--------------------
if not exists (select top 1 * from tb)
drop table tb
------解决方案--------------------
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
看看 可以用不
------解决方案--------------------
sp_msforeachtable 'if not exists(select 1 from ?) drop table ? '