oracle 複製數據、刪除重複數據、

最簡單的複製:

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 = ? )

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章