• 序列


    序列

    -- sequence 序列
    -- 序列是数据库的一种对象,用于生成一串不重复的编号,可以递增或递减
    作用:
    可以为表中列自动产生值
    由用户创建数据库对象来创建序列(sequence),并且可以由多个用户共享
    一般用在主键或者唯一列

    1.创建序列:
    语法:
    create sequence 序列名称
    start with 开始数字 默认是1
    increment by 增长数字 默认是1
    minvalue 最小值 默认是1
    maxvalue 最大值 默认是1
    cache 批量生成多少个序号,使用完后再生成一批,用于序列的创建优化,默认是20

    例子:
    create sequence myseq --创建序列名
    start with 1 --从1开始
    increment by 1 --每次增长1
    maxvalue 999999 --最大值 //nomaxvalue(不设置最大值)
    minvalue 1 --最小值
    cycle --循环 //nocycle(一直累加,不循环)
    nocache --不使用缓存
    解释:从1开始,每次增长1,最大值999999,之后循环从1开始。

    2.使用序列
    -- 序列在使用时,可以使用序列的两个伪列: CURRVAL -取得序列的当前值,NEXTVAL - 获取序列的下一个值
    -- 序列创建后CURRVAL是没有值的,必须先使用NEXTVAL获取下一值,这是序列才会生产一批值

    create table test(id number primary key,name varchar2(32));
    insert into test values(myseq.nextval,'abc');
    insert into test values(myseq.nextval,'ddd');

    特别说明:
    1、myseq:表示序列的名字,nextval:关键字,表示从序列中取下一个值。
    2、sequence序列是需要配合number类型的列来使用;
    3、sequence序列是要在主键或unique列上使用的。

    3. 删除序列
    DROP SEQUENCE SEQ_TEST;

  • 相关阅读:
    input 特殊字符限制
    angular $http服务
    angular $resouse服务
    ng-model-options 时延
    Pytorch之数据处理
    python 小顶堆
    刷题套路总结
    数组分成和尽可能相等的子数组
    python3.7 sorted 自定义排序
    Leetcode 二维数组周游 54
  • 原文地址:https://www.cnblogs.com/xiaomingit/p/11252907.html
Copyright © 2020-2023  润新知