SQL Server删除表的外键约束

如何才能在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   -- 执行存储过程  

 

 

 

【编辑推荐】

启动停止Sql Server服务的实现方法

Sql server DAC连接的问题

SQL Server端口更改后数据库的连接

SQL Server导出导入某数据库

L Server死锁的解除方法

THE END