前幾天還被人問起有沒有什麼方法
SELECT * FROM emp a
WHERE rowid > ANY
(SELECT rowid FROM emp b
WHERE a
)
可以找到冗余的數據
今個發現還有一個比較簡便的方法
SQL> create table t ( a int
表已創建
SQL> insert into t select rownum
<
已創建
SQL> insert into t select *from t where rownum<
已創建
SQL> commit;
提交完成
SQL> select *from t;
A B C
已選擇
SQL> create table exceptions(row_id rowid
表已創建
SQL>
SQL> alter table t add constraint t_unique
alter table t add constraint t_unique
*
ERROR 位於第
ORA
SQL> create table dups
表已創建
SQL> select *from dups;
A B C
SQL> select row_id from exceptions;
ROW_ID
AAAIEJAAKAAAyMSAAA
AAAIEJAAKAAAyMSAAE
AAAIEJAAKAAAyMSAAB
AAAIEJAAKAAAyMSAAF
SQL> delete from t where rowid in ( select row_id
已刪除
SQL> insert into t select distinct * from dups;
已創建
SQL>
SQL> commit;
提交完成
SQL> select *from t;
A B C
From:http://tw.wingwit.com/Article/program/Oracle/201311/18829.html