admin

sybase:如何删除所有表,并在可能的情况下存储proc?

sql

我想将所有表和存储过程删除到一个架构中,有人知道该怎么做吗?如果可能,我想避免删除整个数据库。


阅读 205

收藏
2021-07-01

共1个答案

admin

您可以通过一系列删除来遍历sysobjects表,并系统地删除所有想要删除的对象。

declare tables cursor 
for select name from sysobjects where type='U'
go
declare @name varchar(255)
open tables
fetch tables into @name
while (@@sqlstatus = 0)
begin
exec("drop table "+ @name)
fetch tables into @name
end
close tables
deallocate cursor tables

是的,这需要游标,并且会有点慢,但它应该几乎可以清除数据库。

  • 对于表,您需要具有type =’U’并在循环中使用放置表
  • 对于存储的过程,您将拥有P或XP并在循环中使用放置过程
2021-07-01