去除外键的存储过程

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

create proce prdropforeignkeys
@chvreferencedtable varchar(30)
as
 declare @chvtablewithforeignkey varchar(30),
            @chvforeignkey varchar(30),
            @chvsql varchar(255)
declare cufks cursor for 
 select  tb.name,fk.name from 
((sysobject tb inner join sysreferences r on tb.id=r.fkeyid)
  inner join sysobjects fk on r.constid=fk.id)
  inner join sysobjects refd on refd_tb.id=r.rkeyid)
 where refd_tb.name=@chvreferencedtable
 open cufks
 fetch next from cufks into @chvtablewithforeignkey,@chvforeignkey 

 while (@@fetch_status<>-1)
 begin
  select @chvsql='alter table'+@chvtablewithforeignkey+
    'drop constraint '+@chvforeignkey
  exec(@chvsql)
 fetch next from cufks into @chvtablewithforeignkey,@chvforeignkey
end
 deallocate cufks