oracle 複製資料 刪除重複資料

2021-08-03 18:56:10 字數 802 閱讀 1032

最簡單的複製:

insert into a (kcdm,zklb,kksj_i) select kcdm,zklb,kksj_i from b

產生疑惑的地方: 如果a有乙個自增的id, 語句該怎麼寫?

開始想法: insert into a (id,kcdm,zklb,kksj_i) select seq_a_id.nextval,kcdm,zklb,kksj_i from b   但是seq_a_id.nextval 是a的,select from b能獲取到嗎?明顯很難。

如果a有自增的id,這個時候需要建立seq和對應的trigger,語句和上面一樣。可以自動生成id。

insert into tablea (id,kcdm,zklb,kksj_i,remark) values(tablea.nextval,?,?,?,?)

刪除重複資料:

簡單刪除 : delete from b where b.kcdm = (select kcdm from a )

多列刪除: delete from exam_kkkc a where exists (select kcdm,zklb  from tp_global_kkkc_history b where a.kcdm=b.kcdm and a.zklb = b.zklb)

delete from exam_kkkc a where exists (select b.kcdm,b.zklb from tp_global_kkkc_history b where a.kcdm=b.kcdm and a.zklb = b.zklb and b.ndm = ? and b.zklb = ? )

Oracle刪除重複資料

在oracle中,有個隱藏了自動rowid,裡面給每條記錄乙個唯一的rowid,我們如果想保留最新的一條記錄,我們就可以利用這個字段,保留重複資料中rowid最大的一條記錄就可以了。下面是查詢重複資料的乙個例子 select a.rowid,a.from 表名 a where a.rowid sel...

ORACLE刪除重複資料

我們可能會出現這種情況,某個表原來設計不周全,導致表裡面的資料資料重複,那麼,如何對重複的資料進行刪除呢?重複的資料可能有這樣兩種情況,第一種時表中只有某些字段一樣,第二種是兩行記錄完全一樣。一 對於部分字段重複資料的刪除 先來談談如何查詢重複的資料吧。下面語句可以查詢出那些資料是重複的 selec...

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...