sql server 删除数据库中所有的外键关系

 --sql server 删除数据库中所有的外键关系

--同时也可以指定表

--在数据导入前,还可以将外键关系全部取出来,存放,数据导入完毕后,全部重建

declare @sql varchar(max),
 @tab_name varchar(128),
 @fk_name varchar(128);
declare c cursor for
select OBJECT_NAME(parent_object_id), name from sys.objects where type='F'

open c
fetch next from c into @tab_name, @fk_name
while @@FETCH_STATUS=0
begin
 set @sql='';
 set @sql='alter table ' + @tab_name + ' drop constraint ' + @fk_name
 print @sql
 exec(@sql)
 
 fetch next from c into @tab_name, @fk_name
end
close c
deallocate c

select OBJECT_NAME(parent_object_id) 'table', * from sys.objects where type='F'

你可能感兴趣的:(sql,sql,c,数据库,server,object,table)