create proc up_010
as
begin
declare @sql varchar(99),@tbl varchar(30),@fk varchar(30)
declare cur_fk cursor local for
select object_name(constid),object_name(fkeyid) from sysreferences
--删除所有外键
open cur_fk
fetch cur_fk into @fk,@tbl
while @@fetch_status =0
begin
select @sql='alter table '+@tbl+' nocheck constraint '+@fk
exec(@SQL)
select @sql='delete from '+@tbl
exec(@SQL)
fetch cur_fk into @fk,@tbl
end
close cur_fk
declare cur_fks cursor local for
select name from sysobjects where xtype='U'
open cur_fks
fetch cur_fks into @tbl
while @@fetch_status =0
begin
select @sql='delete from ['+@tbl+']'
exec(@SQL)
fetch cur_fks into @tbl
end
close cur_fks
end
exec up_010
這個過程是nocheck所有外建﹐然后再刪除所有業務數據﹐
然后再check所有外鍵。