当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > 数据库 > 正文 |
|
|||
实例讲解Oracle数据库自动增加ID的sql | |||
2008-8-4 0:50:12 文/安娜 出处:赛迪网 | |||
本文的主要内容包括:在Oracle中实现自增型ID,删除数据表中的重复记录。 一.自增型ID
create sequence seqmax increment by 1 2.得到一个ID select seqmax.nextval ID from dual 3.若要删除一个sequence drop sequence seqmax;
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表 |
|||
关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 | |
Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号 |