如何才能在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 -- 执行存储过程
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
【编辑推荐】
L Server死锁的解除方法