熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

實例講解Oracle數據庫自動增加ID的sql

2013-11-13 16:21:11  來源: Oracle 

  本文的主要內容包括在Oracle中實現自增型ID刪除數據表中的重復記錄

  自增型ID

  

  首先創建 sequence

  create sequence seqmax increment by

  得到一個ID

  select seqmaxnextval ID from dual

  若要刪除一個sequence

  drop sequence seqmax;

  

  刪除數據表中的重復記錄

  

  先創建一個表

  Create TABLE APPTEST (

  ID INTEGER primary key NOT NULL

  MOBILE nvarchar() NOT NULL

  );

  假設其中手機號大量重復要刪除重復記錄可以有如下兩種方法

  ()簡單利用rowid刪除

  delete from APPTEST a where rowid not in (select max(rowid) from APPTEST b where amobile=bmobile);

  據說這種方法在數據量很大時效率並不高

  ()利用分析函數

  delete APPTEST where rowid in (

  select rid from

  (select rowid ridrow_number() over(partition by mobile order by id desc) rn from APPTEST )

  where rn > ) ;

  ()做temp表


From:http://tw.wingwit.com/Article/program/Oracle/201311/18187.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.