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

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

求高手,能帮我解决一下问题。谢谢!! 最好能直接用存储过程实现。
...全文
131 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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点照你的方法去执行,呵呵。 一夜没睡,睡了一觉,醒来数据已经导完了。哈哈

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧