当前位置: 移动技术网 > IT编程>数据库>MSSQL > 批量删除MSSQL 中主外键约束

批量删除MSSQL 中主外键约束

2018年09月27日  | 移动技术网IT编程  | 我要评论

吴健变速帮手,成人影片,abs塑料

在制作 mssql同步工具的时候,发现由于主外键的约束,导致数据同步异常,所有我们需要把 读数据库里面的主外键约束,进行批量删除操作.

表同步工具

1 如何批量查询数据库的主外键?
在mssql2005以上版本中,系统提供一个系统视图 sys.foreign_keys 可以查询出系统所有的外键约束
外键查询sql脚本
2 如何批量删除数据库的主外间键?

--------------------------------------------------------------------------

create table #t (keyid int identity,name varchar(200),tbname varchar(200))

insert into #t (name,tbname) 
select a.name,b.name from sys.foreign_keys a 
left join sysobjects b on a.parent_object_id = b.id 
declare @i int,@imax int,@name varchar(200) ,@tbname varchar(200)

select @i=min(keyid) from #t 
select @imax=max(keyid) from #t

while @i<=@imax
begin
set @name='' 
set @tbname =''
select @name =name,@tbname=tbname from #t where keyid=@i
--print @name 
--print @tbname 

print(' alter table ['+@tbname +'] drop constraint ['+@name+']')
exec(' alter table ['+@tbname +'] drop constraint ['+@name+']')

set @i=@i+1
end


truncate table #t 
drop table #t

----------------------------------------------------------

同步工具,剔除外键约束后,一切正常 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网