首页  >  文章  >  数据库  >  去除外键的存储过程

去除外键的存储过程

WBOY
WBOY原创
2016-06-07 14:54:36951浏览

去除外键的存储过程 外键 存储过程 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 f

去除外键的存储过程 外键 存储过程
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
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn