Oracle資料庫刪除表中重覆記錄的常見方法

2021-08-31 12:18:05 字數 698 閱讀 5998

方法一:

delete from tb_channel a where a.rowid in

(select max(b.rowid) from tb_channle b

where a.policyno=b.policyno and a.classcode=b.classcode);

——這一辦法在資料記錄超過10萬時一般都會變得很慢。

方法二:

--建立臨時表,--清空原表,--插回原表,如下例:

create table temp_emp as (select distinct * from employee) ;

truncate table employee;

insert into employee select * from temp_emp;

——這一辦法適用於較大的表的情況。因為是塊操作,對應於大表效率會好很多

方法三:

--建立新錶,--去重複放入,--刪除原表,如下例:

select distinct * into new_table from old_table

order by 主 鍵

drop table old_table

exec sp_rename new_table,old_table;

——這一辦法適用於較大的表的情況。因為是塊操作,對應於大表效率會好很多

Oracle資料庫刪除表中重覆記錄的常見方法

方法一 delete from tb channel a where a.rowid in select max b.rowid from tb channle b where a.policyno b.policyno and a.classcode b.classcode 這一辦法在資料記錄超過...

Oracle刪除表中重複資料

1.建立臨時表 備份全部資料到 create table tmap.t comm customer col log 731all as select from tmap.t comm customer col log 2.建立臨時表 備份資料 去除重複項 create table tmap.t co...

Oracle 資料庫刪除完全重複資料

oracle minus 關鍵字 sql中的minus關鍵字 sql中有乙個minus關鍵字,它運用在兩個sql語句上,簡單來說,就是找到第乙個sql語句的結果中有且 第二個sql語句結果中沒有的記錄,其語法如下 sql segment 1 minus sql segment 2 刪除完全重覆記錄 ...