电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > 数据库 > 正文
实例讲解Oracle数据库自动增加ID的sql
实例讲解Oracle数据库自动增加ID的sql
2008-8-4 0:50:12  文/安娜   出处:赛迪网   

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

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    Mysql数据库名和表名在不同系统下的…
    mysql全文搜索:sql的写法
    解答SQL不许在视图定义ORDER BY子句…
    数据库海量数据查询与优化
    SQL分组实例使用GROUP BY做示例
    图解Slide Window来做SqlServer性能…
    解决附加SQL Server数据库后出现只读…
    一次SQL调优数据库性能问题后的过程
    使用sql语句分离和附加数据库的方法
    一起探讨如何改善数据库性能瓶颈问题
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号