简单问题:如何删除以某字符串为文件名开头的一类表?

wangjiki1111 2003-08-26 08:51:28
我在数据库中建立一些表,它们都以SST和TCT开头,现在我想删除这些表,应当怎么写TRAN-SQL语句?有一种办法就是,在sysobjects中查找表名,然后进行删除,但是太麻烦了,有没有一次删除符合某条件一类表的命令?
...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
happydreamer 2003-08-26
  • 打赏
  • 举报
回复
做过循环 删除sysobjects里的表


declare @a varchar(1000)
select @a = name from sysobjects where xtype = 'U' and name like 'sst%'

print @a
while exists (select name from sysobjects where xtype = 'U' and name like 'sst%')

begin
exec('drop table ' + @a)
select @a = name from sysobjects where xtype = 'U' and name like 'sst%'
end
hbwhwanghua 2003-08-26
  • 打赏
  • 举报
回复
动态SQL,可调用系统存储过程
CrazyFor 2003-08-26
  • 打赏
  • 举报
回复
没有办法,只能通过sysobjects表,得到所有你要删除的表名,再一个个删除.
CrazyFor 2003-08-26
  • 打赏
  • 举报
回复
没有办法,只能通过sysobjects表,得到所有你要删除的表名,再一个个删除.
pengdali 2003-08-26
  • 打赏
  • 举报
回复
declare cursor1 cursor for select name from sysobjects where xtype='u' and status>0 and (left(name,3) in ('SST','TCT'))
declare @i varchar(1000)
open cursor1
fetch cursor1 into @i
while @@fetch_status=0
begin
exec('drop table '+@i)
fetch cursor1 into @i
end
close cursor1
deallocate cursor1
txlicenhe 2003-08-26
  • 打赏
  • 举报
回复
declare @a varchar
select @a = name from sysobjects where xtype = 'U' and name like 'SST%'
while @a is not null
begin
exec('drop table ' + @a)
select @a = name from sysobjects where xtype = 'U' and name like 'SST%'
end
愉快的登山者 2003-08-26
  • 打赏
  • 举报
回复
不通过sysobjects表,删除不了所有的以SST和TCT开头的表。

愉快的登山者


◢◣◢◣◢◣

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧