这个语句怎么写?

gczhong1980 2003-09-29 11:58:06
已经存有数据的俩个表table1(a number(4) key primary,b varchar2(60),c varchar2(40),d varchar2(200)),
table1(a number(4) key primary,b varchar2(60),c varchar2(40),d varchar2(200)),现在我想把它们的部分数据导入新建的table3(b varchar2(60),c varchar2(40),d varchar2(200) key priary(b,c)),这个语句怎么写(要考虑table1,table2的重复的数据)
...全文
28 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gczhong1980 2003-09-29
  • 打赏
  • 举报
回复
我试了一下,是主键重复的问题,但我在table3中,把b,c作为主键,在插入俩条数据时,我改变b,c俩列中的一列值,报上面的错
pianer 2003-09-29
  • 打赏
  • 举报
回复
因为,你的主建重复,所以有问题,下面的不会有错。

insert into table3(b,c,d)
select b,c,max(d)
from
( select b,c,d from table1
union
select b,c,d from table2 )
group by b,c
gczhong1980 2003-09-29
  • 打赏
  • 举报
回复
我执行的时候报错:ora-00001:unique constraint [device.pk_dddaa] violated
这是什么原因
海清 2003-09-29
  • 打赏
  • 举报
回复
下面的就可以了,不过数据多的话比较慢。
insert into table3
select distinct b,c,d
from table1;

insert into table1
select distinct b,c,d
from table2
where (b,c,d) not in (
select b,c,d from table1
);
commit;
hot.wind 2003-09-29
  • 打赏
  • 举报
回复
insert into table3(b,c,d)
select b,c,d from (
select b,c,d from table1 where ...
union
select b,c,d from table2 where ...
)

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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