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

最佳答案

您可以通过一系列删除来遍历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并使用放下程序
在循环


更多信息:


the sysobjects table specification
using cursors

关于sql - sybase:如何删除所有表,并在可能的情况下存储proc?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4799673/

10-13 06:14