纽崔莱蛋白粉儿童型:我的sql2000某个数据库由于执行错了脚本而增加了好多类型是系统的表如何删除呢??

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 09:31:42
由于表比较多,想将其删除

表名有没有什么共性?比如是不是都包含几个字母?另外你说的是系统表吗?好象系统表是不允许直接删除的。
给你个思路,就是从sysobjects表中,查找到那些表,然后用游标删除
假设那些表都是以test开头的表
用以下脚本来删除(注意是供你参考的,直接执行肯定会出问题)

declare @sqlstr varchar(3000)--要执行的动态语句
declare @tablename varchar(200) --表名

declare cur_table cursor for
select name
from sysobjects
where name like 'test%' and type in('u') --type=u的是用户表

open cur_table

fetch next from cur_table
into @tablename

while @@fetch_status=0
begin
set @sqlstr='drop table '+@tablename
exec (@sqlstr) --执行语句删除表
fetch next from cur_table
into @tablename
end

close cur_table
deallocate cur_table