MSSQL中删除所有外键约束的方法--转自ITEye 作者:欣水寓言

在网上找到了一句得到删除数据库中所有外键约束的语句的sql语句

但是发现这只是一句查询,要执行的话,还得复制出来执行,比较麻烦

于是写了个sp来自动执行,比较方便

代码如下:

 1 CREATE PROCEDURE sp_drop_all_fk
 2 
 3 as
 4 
 5 declare @sql varchar(255)
 6 declare dropsql_cursor cursor for 
 7 select 'alter table '+object_name(fkeyid)+' drop constraint '+object_name(constid)+char(10) from sysreferences
 8 
 9 open dropsql_cursor
10 
11 fetch dropsql_cursor into @sql
12 
13 begin tran
14 
15 while @@fetch_status=0
16 begin
17     
18     execute(@sql)
19     
20     if @@error <> 0
21     begin
22         rollback
23         return
24     end
25 
26     fetch dropsql_cursor into @sql
27 
28 end
29 deallocate dropsql_cursor
30 
31 commit
32 GO

 

posted on 2012-08-17 13:32  vvangjian  阅读(162)  评论(0编辑  收藏  举报