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