SQLSERVER删除所有的表、存储过程和视图
时间:2021-07-01 10:21:17
帮助过:3人阅读
for
select‘alter table [‘+ object_name(parent_obj)+
‘] drop constraint [‘+name+
‘]; ‘
from sysobjects
where xtype =
‘F‘
open c1
declare @c1 varchar(8000)
fetch next from c1 into @c1
while(@@fetch_status=
0)
begin
exec(@c1)
fetch next from c1 into @c1
end
close c1
deallocate c1
--
删除数据库所有表
declare @tname varchar(8000)
set @tname=
‘‘
select @tname=@tname+Name+
‘,‘from sysobjects
where xtype=
‘U‘
select @tname=
‘drop table ‘+ left(@tname,len(@tname)-
1)
exec(@tname)
--
删除视图:
declare v_mycur cursor local for select [name]
from dbo.sysobjects
where xtype=
‘V‘ --
声明游标
declare @vname varchar(100)
OPEN v_mycur --
打开游标
FETCH NEXT from v_mycur into @vname
WHILE @@FETCH_STATUS =
0
BEGIN
exec(‘drop VIEW ‘ +
@vname)
FETCH NEXT from v_mycur into @vname --
逐条读取
END
CLOSE v_mycur --
关闭游标
--
删除存储过程:
declare mycur cursor local for select [name]
from dbo.sysobjects
where xtype=
‘P‘
declare @name varchar(100)
OPEN mycur
FETCH NEXT from mycur into @name
WHILE @@FETCH_STATUS =
0
BEGIN
exec(‘drop PROCEDURE ‘ +
@name)
FETCH NEXT from mycur into @name
END
CLOSE mycur
SQLSERVER删除所有的表、存储过程和视图
标签:sel pre 数据库 where str ext 打开 过程 nbsp