用SQL如何批量删除具有相同前缀的表sql批量删除表?

如题,尽量不要使用存储过程或触发器!droptablewherelike'前缀_%'貌似失败!求助.... 如题,尽量不要使用存储过程或触发器!drop table where like '前缀_%' 貌似失败!求助. 展开
 我来答
匿名用户
2013-10-31
展开全部
你的思路我也不会写,但是你可以用导出工具把要保留的表导出来,然后清空数据库,再导回去.
(导出的时候根据数据库的不同,导出工具可能也不同,但是让表按名称排序应该是很简单的,所以也应该很容易把不要的表过滤出来)
仅供参考.
匿名用户
2013-10-31
展开全部
alter proc DeleteSingleTable(@tablename varchar(100))
as
begin
declare @SQL varchar(2000)
declare @constraintName varchar(100)

declare curName cursor for
select name from sysobjects
where xtype = 'f ' and parent_obj =
(select [id] from sysobjects where [name]=@tablename and xtype = 'u ')

open curName
fetch next from curName into @constraintName
while @@fetch_status = 0
begin
set @SQL = 'alter table ' + @tablename + ' drop constraint '
set @SQL = @SQL + @constraintName
exec(@SQL)
fetch next from curName into @constraintName
end
close curName
deallocate curName
end
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式