zoukankan      html  css  js  c++  java
  • oracle:序列操作,sequence

    序列(sequence)是一种数据项,生成一个整数序列。生成的整数通常可以用来填充数字类型的主键列。

    创建序列

    CREATE SEQUENCE sequence_name
    [START WITH start_num]
    [INCREMENT BY increment_num]
    [{MAXVALUE maximum_num |NOMAXVALUE}]
    [{MINVLAUE  minimum_num |NOMINVALUE}]
    [{CYCLE |NOCYCLE}]
    [{CACHE cache_num |NOCACHE}]
    [{ORDER | NOORDER}];

    START WITH start_num :指定冲哪个整数开始,默认为1

    INCREMENT BY increment_num :指定每次增加的量,默认为1

    NOMINVALUE 指定升序序列最小为1,降序序列最大为-10^26,为默认值

    NOMAXVALUE 指定升序序列最大为10^27,降序序列最大为-1,为默认值

    CACHE cache_num指定要保留在内存中整数的个数。默认要缓存的整数位20葛。至少为2。最多为:CELL(maximum_num-minimum_num)/ABS(increment_num)

    ORDER 确保按照请求次序生成整数。NOORDER为默认值。

    CREATE SEQUENCE seq_name;
    
    CREATE SEQUENCE seq_name
    START WITH 10 INCREMENT BY 5
    MINVALUE 10 MAXVALUE 20
    CYCLE CACHE 2 ORDER;

    获得有关序列的信息

    SELECT *
    FROM user_sequences;

    使用序列

    一个序列有两个‘伪列’,为curval 和 nextval.

    在检索序列的当前值前,必须通过检查序列的下一个值对序列初始化。

    SELECT seq_name.nextval FROM dual;

    使用序列填充主键

    INSERT INTO table_name(id) VALUES (seq_name.nextval);

    创建seq_name 是定义为 nocache ,这样id 就会连续了。

    修改序列

    ALTER SEQUENCE seq_name
    INCREMENT BY 2;

    删除序列

    DROP SEQUENCE seq_name;
  • 相关阅读:
    git clone time out
    Window版本的nvm下载安装以及配置
    jdk安装目录查询
    idea 快捷键
    faac简介、编译、使用
    socket编程实例TCP
    jsoncpp简介、下载、编译、使用
    时间时区概念及常用时间函数
    开启博客之旅
    找回了用户名和密码
  • 原文地址:https://www.cnblogs.com/Azhu/p/2450201.html
Copyright © 2011-2022 走看看