美文网首页
Oracle 数据库添加序列

Oracle 数据库添加序列

作者: 忧郁的冥 | 来源:发表于2019-03-13 14:59 被阅读0次

    简述

    为数据表添加序列实现插入数据时可获取自增主键。

    定义

    序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。不占用磁盘空间,占用内存。

    其主要用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

    语法

    1. 查询序列
    select * from user_sequences
    

    SEQUENCE_NAME 序列名称
    MIN_VALUE 最小值
    MAX_VALUE 最大值
    INCREMENT_BY 递增间隔数(默认为1,可为负值)
    LAST_NUMBER 最后序列数
    CYCLE_FLAG 循环标志(是否允许序列到达极限值后重新从最小值开始计数)

    1. 创建序列
    CREATE SEQUENCE test_seq  --序列名
    INCREMENT BY 1 -- 每次加几个
    START WITH 1 -- 从1开始计数
    NOMAXVALUE -- 不设置最大值
    NOCYCLE -- 一直累加,不循环
    NOCACHE -- 不建缓冲区
    
    1. 删除序列
    DROP SEQUENCE test_seq
    

    4.序列的使用

    select test_seq.currval from dual   //获取当前序列值
    select test_seq.nextval from dual   //生成下一个序列号
    

    5.创建触发器

    create trigger test_trig before
    insert on student for each row when (new.id is null)
    begin
    select test_seq.nextval into:new.id from dual; 
    end;
    

    相关文章

      网友评论

          本文标题:Oracle 数据库添加序列

          本文链接:https://www.haomeiwen.com/subject/qkazpqtx.html