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

Oracle认证
Oracle9I OCP认证过程
常见的一些Oracle初学者的问题
ORACLE认证系统概述
数据库考试简介:Oracle认证
Oracle认证基础知识介绍
如何从一名DBA初学者变为中级水平的DBA?
如何从一名中级的DBA转变为高级DBA?
怎样在Oracle 9i中正确的转换时区
RHEL AS4上安装oracle 10R2 的方法
解决Oracle并行服务器的相关问题
正确进行Oracle数据库性能完全保护
最影响Oracle系统性能的初始化参数
详细介绍Oracle数据库的启动和关闭
Oracle实现自增型ID和删除重复记录
Oracle静态注册和动态注册
Oracle数据更改后出错
Oracle10G认证考试自2008年12月1日变化
什么是Oracle?oracle认证种类介绍
解决Orcale与Asp.net的端口冲突
oracle认证辅导:重访Oracle密码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-04   浏览: 143 ::
收藏到网摘: 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表