SQL Server 删除表的外键约束

SQL Server中的很多表都存在外键约束,在我们删除这些表之前,首先需要将这些外键约束进行删除操作

删除表的外键约束用到的存储过程:

  1. CREATE PROCEDURE sp_drop_all_fk      
  2. as   
  3. declare @sql varchar(255)     
  4. declare dropsql_cursor cursor for      
  5. select 'alter table '+object_name(fkeyid)+' drop constraint '+object_name(constid)+char(10) from sysreferences     
  6.  
  7. open dropsql_cursor     
  8.  
  9. fetch dropsql_cursor into @sql     
  10.  
  11. begin tran     
  12.  
  13. while @@fetch_status=0     
  14. begin   
  15.          
  16.     execute(@sql)     
  17.          
  18.     if @@error <> 0     
  19.     begin   
  20.         rollback   
  21.         return   
  22.     end   
  23.  
  24.     fetch dropsql_cursor into @sql     
  25.  
  26. end   
  27. deallocate dropsql_cursor     
  28.  
  29. commit   
  30. GO   
  31.  
  32. exec sp_drop_all_fk   -- 执行存储过程  
原文地址:https://www.cnblogs.com/qfcndtt/p/2010251.html