当前位置:Gxlcms > mysql > 去除外键的存储过程

去除外键的存储过程

时间:2021-07-01 10:21:17 帮助过:17人阅读

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

人气教程排行