Sql Server 删除所有用户表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
如果由于外键约束删除 table 失败,则先删除所有约束:
 
--/第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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值