• 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;
  • 相关阅读:
    VLC在web系统中应用(xvlcplugin 即如何把VLC嵌入HTML中)
    mysql in 排序
    EditPlus v3.31 注册码
    UTF8编码判断
    zend framework 获取邮箱内容 编码转换 quoted_printable_decode | base64_decode
    String path = request.getContextPath(....拼装当前网页的相对路径
    【转】input中id和name的区别
    JSON基础知识
    【转】 jdbc.properties
    JSP页面传值乱码过滤
  • 原文地址:https://www.cnblogs.com/64Byte/p/12747044.html
Copyright © 2020-2023  润新知