oracle表关联删除重复记录

有两个表A、B,B为A的历史表,即A中的数据会隔段时间会转移到B中,要求A和B中的数据不能重复。但是现在存在几条记录,即在A中也在B中,要将重复的数据从A表中删除,id为A,B的主键,解决方法如下:

 

--查看两个表的重复记录

Select A.* from A , B where A.id=B.id

 

--A表中删除两个表的重复记录

Delete from A where exists (select 1 from B where A.id=B.id)

 

注:oracle是不支持delete _a from a _a, b _b where _a.id=_b.id这种类似关联用法的。

猜你喜欢

转载自freshman0.iteye.com/blog/2053905