--给你个存储过程
create PROCEDURE droptable0 as
DECLARE @tbName varchar(50)
DECLARE @rowcnt int
DECLARE @sqls nvarchar(4000)
DECLARE curName CURSOR for
SELECT name FROM sysobjects
WHERE xtype = 'U' AND status > 0
ORDER BY name
OPEN curName
FETCH NEXT FROM curName INTO @tbName
WHILE @@fetch_status=0
BEGIN
set @sqls='select @a=count(*) from ['+@tbname+']'
exec sp_executesql @sqls,N'@a int output',@rowcnt output
if @rowcnt=0 exec('drop table ['+@tbname+']')
FETCH NEXT FROM curName INTO @tbName
END
close curname
DEALLOCATE curName