SQL> create table lunar (
2 c1 char(4),
3 c2 varchar2(20)
4 )
5 /
表已创建。
SQL> insert into lunar values('1111','1111');
已创建 1 行。
SQL> insert into lunar values('1112','1111');
已创建 1 行。
SQL> insert into lunar values('1113','1111');
已创建 1 行。
SQL> insert into lunar values('1114','1111');
已创建 1 行。
SQL> commit;
提交完成。
SQL>
创建重复记录:
SQL> insert into lunar select * from lunar;
已创建4行。
SQL> commit;
提交完成。
SQL> select rowid,c1,c2 from lunar;
ROWID C1 C2
------------------ ---- --------------------
AAAG/OAAGAAAAAMAAA 1111 1111
AAAG/OAAGAAAAAMAAB 1112 1111
AAAG/OAAGAAAAAMAAC 1113 1111
AAAG/OAAGAAAAAMAAD 1114 1111
AAAG/OAAGAAAAAMAAE 1111 1111
AAAG/OAAGAAAAAMAAF 1112 1111
AAAG/OAAGAAAAAMAAG 1113 1111
AAAG/OAAGAAAAAMAAH 1114 1111
已选择8行。
SQL>
查出重复记录
SQL> select rowid,c1,c2
2 from lunar
3 where lunar.rowid!=(select max(rowid)
4 from lunar b
5 where lunar.c1=b.c1 and lunar.c2=b.c2);
ROWID C1 C2
------------------ ---- --------------------
AAAG/OAAGAAAAAMAAA 1111 1111
AAAG/OAAGAAAAAMAAB 1112 1111
AAAG/OAAGAAAAAMAAC 1113 1111
AAAG/OAAGAAAAAMAAD 1114 1111
SQL>
删除重复记录:
SQL> delete from lunar a
2 where a.rowid!=(select max(rowid)
3 from lunar b
4 where a.c1=b.c1 and a.c2=b.c2);
已删除4行。
SQL> commit;
提交完成。
SQL> select rowid,c1,c2 from lunar;
ROWID C1 C2
------------------ ---- --------------------
AAAG/OAAGAAAAAMAAE 1111 1111
AAAG/OAAGAAAAAMAAF 1112 1111
AAAG/OAAGAAAAAMAAG 1113 1111
AAAG/OAAGAAAAAMAAH 1114 1111
SQL>