删除前缀为abc_的所有表,该怎样写sql

来源:百度知道 编辑:UC知道 时间:2024/05/17 17:35:49
如题,谢谢!

可以这样子写,注意,这是删除整个表。谨慎操作】

--第一步,获取要删除的表到一个临时表中
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

可以写在存储过程里 判断表名 再drop table abc_**
直接写sql语句 怎么写捏?你说