Sql Server 删除所有表
时间:2021-07-01 10:21:17
帮助过:2人阅读
/第1步**********删除所有表的外键约束*************************/
DECLARE c1
cursor 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
--/第2步**********删除所有表*************************/
use 数据库名(是要删除表的所在的那个数据库的名称)
GO
declare @sql varchar(
8000)
while (
select count(
*)
from sysobjects
where type
=‘U‘)
>0
begin
SELECT @sql=‘drop table ‘ + name
FROM sysobjects
WHERE (type
= ‘U‘)
ORDER BY ‘drop table ‘ + name
exec(
@sql)
end
--删除所有的存储过程同理可得,但不需要走第一步,只需将第2步的代码的where type=‘U‘ 改成 where type=‘P‘,drop table 改成 drop Procedure。
Sql Server 删除所有表
标签: