MSSQL中删除所有外键约束的方法

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

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

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

代码如下:

Sql代码   收藏代码
  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  

转载于:https://www.cnblogs.com/zhangchenliang/archive/2012/12/05/2802522.html

猜你喜欢

转载自blog.csdn.net/weixin_33858336/article/details/93495291
今日推荐