您的位置:首頁技術文章
文章詳情頁

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

瀏覽:113日期:2023-11-23 08:50:45

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

一.自增型ID

1.首先創建 sequence

create sequence seqmax increment by 1

2.得到一個ID

select seqmax.nextval ID from dual

3.若要刪除一個sequence

drop sequence seqmax;

二.刪除數據表中的重復記錄

1.先創建一個表

Create TABLE 'APPTEST' (

'ID' INTEGER primary key NOT NULL,

'MOBILE' nvarchar2(50) NOT NULL

);

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

(1)簡單利用rowid刪除

delete from APPTEST a where rowid not in (select max(rowid) from APPTEST b where a.mobile=b.mobile);

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

(2)利用分析函數

delete APPTEST where rowid in (

select rid from

(select rowid rid,row_number() over(partition by mobile order by id desc) rn from APPTEST )

where rn > 1) ;

(3)做temp表

標簽: Oracle 數據庫
国产综合久久一区二区三区