WEB开发网
开发学院数据库Oracle 实例讲解Oracle数据库自动增加ID的SQL 阅读

实例讲解Oracle数据库自动增加ID的SQL

 2008-11-10 12:58:56 来源:WEB开发网   
核心提示:一.自增型ID 1.首先创建 sequence create sequence seqmax increment by 1 2.得到一个ID select seqmax.nextval ID from dual 3.若要删除一个sequence drop sequence seqmax; 二.删除数据表中的重复记录 1

一.自增型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表

网管网www_bitscn_com

Tags:实例 讲解 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接