当前位置: 首页 > 图文教程 > 认证考试 > Oracle认证 > Oracle实现自增型ID和删除重复记录

Oracle认证
Oracle认证:修改用户指定的默认表空间
Oracle认证:Oracle的三种Join方法
Oracle认证辅导:教你数据库查询初始化参数
教你查询Oracle中的表空间
oracle的case函数控制结构DECODE()函数
解决Oracle被锁定有妙招
OracleDatabaseLinks的实现方法
Oraclesequence在Hibernate如何使用
Oracle认证:利用bulkcollect实现cursor批量fetch
三要素助你在Oracle中创建索引
RollbackSegment优化
Oracle服务器参数文件管理技巧
Oracle认证:向视图中插入数据的方法
使用Java和oracle实现BLOB字段的字符串读取

Oracle认证 中的 Oracle实现自增型ID和删除重复记录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-04   浏览: 144 ::
收藏到网摘: n/a

本文的主要内容包括:在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表