zoukankan      html  css  js  c++  java
  • Oracle--序列

    序列

      Oracle中在增加一条数据时,为了实现自增长,需要使用序列。

    创建数字, 应用在 id列, 这一列,是数字, 唯一的, 使用序列来产生,不需要人工添加,  后一个值 是在前一个值的基础上加增量(默认1)

    创建序列:

    create sequence 序列名
            [INCREMENT BY n]            //每次增长值, 默认加1
             [START WITH n]                //起始值  默认从1
            [{MAXVALUE n| NOMAXVALUE}]        //最大值  
            [{MINVALUE n| NOMINVALUE}]        //最小值  默认1

    例:

    create sequence myseq
         minvalue 1
         maxvalue 1000
         start with 1
         increment by 1
         cache 20;
    
    -- 一般直接创建
    create sequence  seq_stuno;

    序列的使用:

    1.nextval ,让序列产生一个数值

    --序列的属性:  获取下一个值  nextval   序列名.nextval;
    -- 每调用一次, 这个序列产生一个数字, 下一个数字是在前一个数字的基础+ 1
    select seq_stuno.nextval from dual;
    
    --在表插入数据的时候,给id列赋值 
    insert into tb_student values(seq_stuno.nextval,'李四',1);

    2. currval当前正在使用的序列值(不会让序列产生值),必须在序列使用(nextval)之后才有

    --查看当前产生的值  currval 属性, 不能产生值, 只是查看当前序列产生的值
    select  seq_stuno.currval from dual;

    3.删除序列,删除序列不会删除序列已产生的值

    drop sequence myseq;
    --经验: 一个序列可以被多张表一起使用,id值不会连续,
    -- ***推荐每一张表都有自己的序列  ***
    insert into tb_class values(seq_stuno.nextval,'二年级一班');
    create sequence seq_cid  START WITH 8  ;
    select seq_cid.nextval from dual;
  • 相关阅读:
    session监听
    Ubuntu上安装MongoDB(转)
    JAVA中的集合(转)
    Iterator的用法(转)
    PHPExcel常用方法汇总(转)
    MongoDB的安装及在PHP中的配置Windows版
    [转载]使用FastReport 3.0及以上版本创建动态报表的几个技巧
    FastReport
    ZeosLib
    [转载]FastReport问题整理
  • 原文地址:https://www.cnblogs.com/64Byte/p/12747044.html
Copyright © 2011-2022 走看看