如何才能在SQL Server删除表之前将外键约束删除呢?这是大家经常问到的问题,下面就为您介绍SQL Server删除表的外键约束的方法,供您参考 。
删除表的外键约束用到的存储过程:
- CREATE PROCEDURE sp_drop_all_fk
- as
- declare @sql varchar(255)
- declare dropsql_cursor cursor for
- select alter table +object_name(fkeyid)+ drop constraint +object_name(constid)+char(10) from sysreferences
-
- open dropsql_cursor
-
- fetch dropsql_cursor into @sql
-
- begin tran
-
- while @@fetch_status=0
- begin
-
- execute(@sql)
-
- if @@error <> 0
- begin
- rollback
- return
- end
-
- fetch dropsql_cursor into @sql
-
- end
- deallocate dropsql_cursor
-
- commit
- GO
-
- exec sp_drop_all_fk -- 执行存储过程