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 -- 执行存储过程