有两个表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这种类似关联用法的。