2个回答
展开全部
可以这样子写,注意,这是删除整个表。谨慎操作】
--第一步,获取要删除的表到一个临时表中
select identity(int,1,1) flag,[name] names into #tmp from sysobjects where xtype='u' and [name] like 'abc_%'
--第二步删除这些表
declare @tb varchar(1000) ,@a int,@b int,@sql varchar(8000)
select @a=min(flag),@b=max(flag) from #tmp
while @a<=@b
begin
select @tb=names from #tmp where flag=@a
set @sql='drop table '''+@tb+''''
exec(@sql)
set @a=@a+1
end
--第一步,获取要删除的表到一个临时表中
select identity(int,1,1) flag,[name] names into #tmp from sysobjects where xtype='u' and [name] like 'abc_%'
--第二步删除这些表
declare @tb varchar(1000) ,@a int,@b int,@sql varchar(8000)
select @a=min(flag),@b=max(flag) from #tmp
while @a<=@b
begin
select @tb=names from #tmp where flag=@a
set @sql='drop table '''+@tb+''''
exec(@sql)
set @a=@a+1
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询