• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

紧急求助-导入数据主键重复的问题

yaoyouyou 2010-06-23 05:07:22
有两个结构一模一样的表。 A表有1000万数据,B表500万。要把B导入A表。 主键列userid。但是两个表有主键重复的数据,我需要导入的时候过滤重复的。

求高手,能帮我解决一下问题。谢谢!! 最好能直接用存储过程实现。
...全文
98 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
claro 2010-06-23
帮顶

回复
feilniu 2010-06-23
[Quote=引用 4 楼 feilniu 的回复:]

创建A表的主键时,指定WITH (IGNORE_DUP_KEY = ON)选项。
[/Quote]

这种做法是效率最高的。
回复
luxi0194 2010-06-23
[Quote=引用 6 楼 htl258 的回复:]

如果重复的数据完全一样,试试:

insert a select * from b except select * from a
[/Quote]

学习
回复
htl258_Tony 2010-06-23
如果重复的数据完全一样,试试:

insert a select * from b except select * from a
回复
x2593304 2010-06-23
[Quote=引用 2 楼 thinclient 的回复:]
存储过程的话如下:
Create PROCEDURE HeBing
AS
BEGIN
insert a
select * from b
where userid not in (select userid from a)
END
[/Quote]
这样的话是不是速度要慢一些呢 建议创建一个临时表先将重复的数据查出来 放到临时表里 然后倒入临时表里没有的数据
回复
feilniu 2010-06-23
创建A表的主键时,指定WITH (IGNORE_DUP_KEY = ON)选项。
回复
thinclient 2010-06-23
[Quote=引用 10 楼 yaoyouyou 的回复:]
谢谢各位!都很实用,问题解决了。谢大家,谢thinclient。我5点钟发的求助,你6点就回复了。我7点照你的方法去执行,呵呵。 一夜没睡,睡了一觉,醒来数据已经导完了。哈哈
[/Quote]
有问题,可以打电话给我,137xxxyyzz0, 几点都行
回复
thinclient 2010-06-23
把上面a和b改成你实际的表名
回复
thinclient 2010-06-23
存储过程的话如下:
Create PROCEDURE HeBing
AS
BEGIN
insert a
select * from b
where userid not in (select userid from a)
END
回复
thinclient 2010-06-23
insert a
select * from b
where userid not in (select userid from a)
回复


太有才了
回复
yaoyouyou 2010-06-23
谢谢各位!都很实用,问题解决了。谢大家,谢thinclient。我5点钟发的求助,你6点就回复了。我7点照你的方法去执行,呵呵。 一夜没睡,睡了一觉,醒来数据已经导完了。哈哈
回复
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2010-06-23 05:07
社区公告
暂无公告