★☆

★☆
posts - 0, comments - 0, trackbacks - 0, articles - 80
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

oracle 序列 Sequence实现主键自动增1

Posted on 2008-08-14 12:48 阅读(384) 评论(0)  编辑  收藏 所属分类: oracle基础与函数
oracle 序列 Sequence实现主键自动增1:

Oracle序列Sequence是一种数据库项,它生成一个整数序列。
序列所生成的整数通常可以用来填充数字类型的主键列。

注:
SEQ_NOTICE_NO:Sequence;
TSS_INFO_NOTICE :公告基本信息表

1.创建序列
e.g:
create sequence SEQ_NOTICE_NO
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
详细语法参考Oracle官方资料。

2.从数据字典中获取有关序列的信息
从user_sequences中可以获得有关序列的信息。
e.g:select * from user_sequences;

3.使用序列
一个序列包含两个“伪列”,分别是currval和next,可以分别用来获取该序列的当前值和下一个值。
e.g:
    select SEQ_NOTICE_NO.nextval from dual;

    select SEQ_NOTICE_NO.currval from dual;

4.使用序列填充主键
当表的主键是整数时,通常使用序列来生成主键。
e.g:
    create sequence TSS_INFO_NOTICE NOCACHE;

5.修改序列
    alter sequence SEQ_NOTICE_NO
    increment by 8;
    说明:将SEQ_SVC_NO的增量修改为8。

6.删除序列
    drop sequence SEQ_NOTICE_NO;