java程序对Oracle两张表结构相似的表的数据对比,具体如下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序对Oracle两张表结构相似的表的数据对比,具体如下相关的知识,希望对你有一定的参考价值。
table_a
A 主键,
B 字段,
C 字段,
D 字段,
E 字段
table_b
A 主键,
B 字段,
C 字段,
D 字段,
E 字段
需求:对比 table_a 跟 table_b 的主键对比,得到结果 1.a表主键存在,b表不存在;2.a表主键不存在,b表存在;3.a表和b表都存在一样的主键,那么就 a表的B字段跟b表的B字段对比, a表的C字段跟b表的C字段对比 。可以在数据库方面使用函数、 存储过程等。还有 两张表的数据可能超过千万条,求各位大神有没有好的建议。
这边只能悬赏100,,分数还可以追加的
因为存在主键A B表本身不会存在重复值,所以最多是一对一的存在。
千万条记录不适合一次性全部load出来
直接使用sql联合查询应该更适合select a.A from A a,B b where a.A=b.A and a.B=b.B and a.C=b.C and a.D=b.D and a.E=b.E; 参考技术A 1: select * from table_b b where not exist (select 1 from table_a a where a.A = b.A)
2: select * from table_a a where not exist (select 1 from table_b b where a.A = b.A)
3: select * from table_a a where exist (select 1 from table_b b where a.A = b.A and a.B=b.B and a.C=b.C)
PL/SQL中 如何将两张结构完全一样的表合并?
查询数据库得到两张结构一样的表,我现在想把两张表直接合并,例如:
表1:
a 1
b 2
c 1
表2:
a 1
c 1
d 4
e 6
合并后得到表3:
a 1
b 2
c 1
a 1
c 1
d 4
e 6
请问各位高手该如何实现?
select * from 表1
union all
select * from 表2
2、新建表的话(包含数据)
create table 表3 as
select * from 表1
union all
select * from 表2
2、新建表的话(不包含数据)
create table 表3 as
select * from 表1
union all
select * from 表2
where 1=2 参考技术A 不能 union all,不然会有重复数据
把ALL去掉才行
create table 表3 as
select * from 表1
union
select * from 表2 参考技术B creat bable 表3 as
select * from 表1
union all
select * from 表2
以上是关于java程序对Oracle两张表结构相似的表的数据对比,具体如下的主要内容,如果未能解决你的问题,请参考以下文章
oracle 中如何将一张500万数据的表从一个库快速转移到另外一个库