| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,外语很重要,最新的编程技术还是在国外  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 数据库 >> oracle >> oracel基础 >> 文章正文
ORACLE中序列-sequence的应用            【字体:
ORACLE中序列-sequence的应用
作者:-    文章来源:-    点击数:    更新时间:2007-5-6

oracle中没有象Acces中自动编号的字段类型,所以在oracle中要想用一个字段自动增值,还比较麻烦,在此提供给大家一个方法,利用序列,来完成字段的自动增加,下边介绍一下怎么创建序列,使用序列,和删除序列。

1.创建序列--------------create sequence

 create sequence  Seq_AutoID   //所起序列名叫 Seq_AutoID ,需要记住此序列名,以后方可调用

minvalue   1   //最小值从1开始 可以根据自己的需要自定义

maxvalue 9999999999999999999     //序列最大值为 999999999999999999999 可以自定义

start with 1   //从1开始 可以自定义

increment by  1   //递增幅度为 1   可以自定义

cache 20 ;     //缓存20

2. 调用序列,完成自动加1 ------------Seq_AutoID.nextval

在向表中插入、更新 数据时可以调用 ,由于自己实际应用中只用到了 插入时调用,所以在此只举此列

EG:  insert into table1 ( f1,f2,f3,f4) select  f1,f2,f3,Seq_AutoID.nextval  from table2  where 条件

当然上边这句是批量插入数据,你也可以用 values值来一条条插入。在此需说明的一点为table1.f4字段需为数值型(number)型。这样,你的table1中的f4字段就是从1开始,以幅度为1来递增的数值了,实现了自动增加的功能。当然幅度可以自己定义。

还有一点是 序列是值是唯一的,只要你一直用nextval来递增的话,在oracle中序列号不会重复.可以用CurrVal来查询当前的序列值,在你nextval后,currval也会跟着变。

3.序列的删除--------------drop sequence

当为了重置序列时,或不需要序列时,可以先删除序列

EG: drop sequence Seq_AutoID;

4.用序列来修改某个字段的值

eg:  update cse_depot set jobid=Seq_AutoID.nextval

以上这个例子是用当前的序列值给cse_depot的字段 jobid赋值,使jobid字段实现自动加1功能

以上几点是自己跟据自己所用总结出来的,也希望大家跟帖参与讨论。

文章录入:fengyun    责任编辑:fengyun 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • oracle 序列(SEQUENCE)

  • oracle SQL性能优化

  • oracle OCCI 的一个简单的包…

  • oracle 内存数据库 TimesTen…

  • Oracle常用函数

  • Oracle中null的使用详解

  • Oracle函数to_char转化数字型…

  • 在Oracle中获取磁盘空间的使…

  • Oracle的左连接和右连接

  • 使用oracle9i数据库的注意事…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |