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 的常用命令(未完待补充)
    Mysql占用内存过高参数优化
    mysql安全基线设置
    redis安全基线设置
    centos7安全基线设置
    检查shell脚本
    redis安装和配置
    TIME_WAIT状态全是3306解决办法
    PHP message: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted 错误
    tcp的三次握手和四次挥手(二)
  • 原文地址:https://www.cnblogs.com/Azhu/p/2450201.html
Copyright © 2011-2022 走看看